public class SearcherFactory.Searcher extends Object
| Modifier and Type | Field and Description |
|---|---|
private boolean |
_checkRights |
private List<SearchField> |
_facets |
private Map<String,List<String>> |
_facetValues |
private List<Query> |
_filterQueries |
private List<String> |
_filterQueryStrings |
private Logger |
_logger |
private int |
_maxResults |
private Query |
_query |
private String |
_queryString |
private Map<String,Object> |
_searchContext |
private List<Sort> |
_sortClauses |
private int |
_start |
| Modifier | Constructor and Description |
|---|---|
protected |
Searcher(Logger logger)
Build a Searcher with default values.
|
| Modifier and Type | Method and Description |
|---|---|
private QueryResponse |
_querySolrServer() |
SearcherFactory.Searcher |
addContextElement(String key,
Object value)
Add a value to the search context.
|
SearcherFactory.Searcher |
addFacet(SearchField facet)
Add a faceted field.
|
SearcherFactory.Searcher |
addFilterQuery(Query query)
Add a filter query to the existing ones (as a
Query object). |
SearcherFactory.Searcher |
addFilterQueryString(String query)
Add a filter query to the existing ones (as a String).
|
SearcherFactory.Searcher |
addSort(Sort sortClause)
Add a sort clause to the existing ones.
|
protected Map<String,Map<String,Integer>> |
getFacetResults(QueryResponse response,
Collection<SearchField> facets)
Retrieve the facet results from the solr response.
|
protected List<String> |
getFilterQueries()
Get the filter queries from the parameters.
|
protected String |
getQuery()
Get the query string from the parameters.
|
protected SolrQuery |
getSolrQuery(String query,
Collection<String> filterQueries,
int start,
int maxResults,
Map<String,Object> searchContext,
boolean checkRights)
Get the solr query object.
|
<A extends AmetysObject> |
search()
Execute the search with the current parameters.
|
<A extends AmetysObject> |
searchWithFacets()
Execute the search with the current parameters.
|
SearcherFactory.Searcher |
setCheckRights(boolean checkRights)
Whether to check rights when searching, false otherwise.
|
protected void |
setFacets(SolrQuery solrQuery,
Collection<SearchField> facets,
Map<String,List<String>> facetValues)
Set the facet definition in the solr query object and return a mapping from solr field name to criterion ID.
|
protected void |
setSort(SolrQuery solrQuery,
List<Sort> sortCriteria)
Set the sort definition in the solr query object.
|
SearcherFactory.Searcher |
withContext(Map<String,Object> searchContext)
Set the search context.
|
SearcherFactory.Searcher |
withFacets(Collection<SearchField> facets)
Set the faceted fields.
|
SearcherFactory.Searcher |
withFacets(SearchField... facets)
Set the faceted fields.
|
SearcherFactory.Searcher |
withFacetValues(Map<String,List<String>> facetValues)
Set the facet values.
|
SearcherFactory.Searcher |
withFilterQueries(Collection<Query> queries)
Set the filter queries (as
Query objects). |
SearcherFactory.Searcher |
withFilterQueries(Query... queries)
Set the filter queries (as
Query objects). |
SearcherFactory.Searcher |
withFilterQueryStrings(Collection<String> queries)
Set the filter queries (as Strings).
|
SearcherFactory.Searcher |
withFilterQueryStrings(String... queries)
Set the filter queries (as Strings).
|
SearcherFactory.Searcher |
withLimits(int start,
int maxResults)
Set the search offset and limit.
|
SearcherFactory.Searcher |
withQuery(Query query)
Set the query (as a
Query object). |
SearcherFactory.Searcher |
withQueryString(String query)
Set the query (as a String).
|
SearcherFactory.Searcher |
withSort(List<Sort> sortClauses)
Set the sort clauses.
|
SearcherFactory.Searcher |
withSort(Sort... sortClauses)
Set the sort clauses.
|
private String _queryString
private List<String> _filterQueryStrings
private List<Query> _filterQueries
private List<Sort> _sortClauses
private List<SearchField> _facets
private Map<String,List<String>> _facetValues
private int _start
private int _maxResults
private Map<String,Object> _searchContext
private boolean _checkRights
public SearcherFactory.Searcher withQueryString(String query)
query - the query (as a String).public SearcherFactory.Searcher withQuery(Query query)
Query object).query - the query (as a Query object).public SearcherFactory.Searcher withFilterQueryStrings(String... queries)
queries - the filter queries (as Strings).public SearcherFactory.Searcher withFilterQueryStrings(Collection<String> queries)
queries - the filter queries (as Strings).public SearcherFactory.Searcher addFilterQueryString(String query)
query - the filter query to add (as a String).public SearcherFactory.Searcher withFilterQueries(Query... queries)
Query objects).queries - the filter queries (as Query objects).public SearcherFactory.Searcher withFilterQueries(Collection<Query> queries)
Query objects).queries - the filter queries (as Query objects).public SearcherFactory.Searcher addFilterQuery(Query query)
Query object).query - the filter query to add (as a Query object).public SearcherFactory.Searcher withSort(Sort... sortClauses)
sortClauses - the sort clauses.public SearcherFactory.Searcher withSort(List<Sort> sortClauses)
sortClauses - the sort clauses.public SearcherFactory.Searcher addSort(Sort sortClause)
sortClause - The sort clause to add.public SearcherFactory.Searcher withFacets(SearchField... facets)
facets - the faceted fields.public SearcherFactory.Searcher withFacets(Collection<SearchField> facets)
facets - the faceted fields.public SearcherFactory.Searcher addFacet(SearchField facet)
facet - The faceted field to add.public SearcherFactory.Searcher withFacetValues(Map<String,List<String>> facetValues)
facetValues - The facet values.public SearcherFactory.Searcher withLimits(int start, int maxResults)
start - The start index (offset).maxResults - The maximum number of results.public SearcherFactory.Searcher withContext(Map<String,Object> searchContext)
searchContext - The search context.public SearcherFactory.Searcher addContextElement(String key, Object value)
key - The context key.value - The value.public SearcherFactory.Searcher setCheckRights(boolean checkRights)
checkRights - true to check rights, false otherwise.public <A extends AmetysObject> AmetysObjectIterable<A> search() throws Exception
A - The type of search resultsException - If an error occurs.public <A extends AmetysObject> SearchResults<A> searchWithFacets() throws Exception
A - The type of search resultsException - If an error occurs.private QueryResponse _querySolrServer() throws Exception
Exceptionprotected String getQuery() throws QuerySyntaxException
QuerySyntaxException - If the query is invalid.protected List<String> getFilterQueries() throws QuerySyntaxException
QuerySyntaxException - If one of the queries is invalid.protected SolrQuery getSolrQuery(String query, Collection<String> filterQueries, int start, int maxResults, Map<String,Object> searchContext, boolean checkRights) throws Exception
query - The solr query string.filterQueries - The filter queries (as Strings).start - The start index.maxResults - The maximum number of results.searchContext - The search context.checkRights - Whether to check rights when searching or not.Exception - If an error occurs.protected void setSort(SolrQuery solrQuery, List<Sort> sortCriteria)
solrQuery - The solr query object.sortCriteria - The sort criteria.protected void setFacets(SolrQuery solrQuery, Collection<SearchField> facets, Map<String,List<String>> facetValues)
solrQuery - the solr query object to fill.facets - The facet definitions to use.facetValues - the facet values.protected Map<String,Map<String,Integer>> getFacetResults(QueryResponse response, Collection<SearchField> facets)
response - the solr response.facets - The facet fields to return.