public class SolrQueryBuilder extends QueryBuilder
Constructor and Description |
---|
SolrQueryBuilder()
Default constructor.
|
SolrQueryBuilder(java.lang.String workflowName)
Constructor.
|
SolrQueryBuilder(java.lang.String workflowName,
DataFactory factory)
Constructor.
|
SolrQueryBuilder(java.lang.String workflowName,
Record request)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
SolrQueryBuilder |
addFields(java.lang.String... fields)
Add fields parameter.
|
AnyMap |
addFilterGroup(java.lang.String filterGroupName) |
AnyMap |
addFilterGroupLocalParam(java.lang.String filterGroupName,
java.lang.Object... params)
Adds the given params to the local params map of the filter group.
|
SolrQueryBuilder |
addFilterQuery(java.lang.String filterQuery)
Adds a native solr filter query.
|
void |
addNativeParam(java.lang.String parameterName,
java.lang.Object parameterValue)
Adds the given name-value as a parameter to the native parameter map.
|
SolrResultAccessor |
executeRequest(SearchService searchService)
execute query on given search service and wrap result in high level result helper.
|
void |
setMoreLikeThis(AnyMap mltArgs)
This will add the parameters to the _solr.query map and name it
SolrConstants.MORE_LIKE_THIS . |
void |
setNativeParam(java.lang.String parameterName,
java.lang.Object parameterValue)
Sets the given name-value pair, posisbly overriding an existing one under the same key.
|
SolrQueryBuilder |
setQueryFindAll()
Set the *:* as the query string to find all documents.
|
SolrQueryBuilder |
setRequestHandler(java.lang.String name)
Set the request handler.
|
SolrQueryBuilder |
setRows(int rows)
Set rows parameter.
|
SolrQueryBuilder |
setShards(java.lang.String... shards)
Set shards.
|
SolrQueryBuilder |
setStart(int start)
Set start parameter.
|
addAllOfFilter, addAtLeastFilter, addAtMostFilter, addAttributeConfig, addBoundFilter, addFacetByAttribute, addFacetByAttribute, addFacetByConfig, addFilter, addGreaterThanFilter, addGroupByAttribute, addGroupByAttribute, addGroupByAttribute, addGroupByConfig, addGroupByConfig, addGroupByConfig, addHighlightByAttribute, addHighlightByConfig, addLessThanFilter, addListFilter, addNoneOfFilter, addOneOfFilter, addParameter, addRangeFilter, addResultAttributes, addSortBy, executeRequestXml, executeRequestXmlString, getFactory, getMetadata, getQuery, getWorkflowName, setAttachment, setId, setIndexName, setLanguage, setMaxCount, setOffset, setParameter, setQuery, setQueryAttribute, setRanking, setResultAttributes, setThreshold
public SolrQueryBuilder()
public SolrQueryBuilder(java.lang.String workflowName)
workflowName
- the workflow workflow name.public SolrQueryBuilder(java.lang.String workflowName, DataFactory factory)
workflowName
- the workflow name.factory
- the data factory.public SolrQueryBuilder(java.lang.String workflowName, Record request)
workflowName
- the workflow name.request
- the request record.public SolrQueryBuilder setStart(int start)
start
- the start parameter.public SolrQueryBuilder setRows(int rows)
rows
- the rows parameter.public SolrQueryBuilder addFields(java.lang.String... fields)
fields
- the fields parameter.public SolrQueryBuilder setRequestHandler(java.lang.String name)
name
- The value given should start with a leading /. However, if it is missing it will be added. Blank values
will result in removing the request handler parameter (reset to default).public SolrQueryBuilder addFilterQuery(java.lang.String filterQuery)
filterQuery
- the filter query.public SolrResultAccessor executeRequest(SearchService searchService) throws ProcessingException
executeRequest
in class QueryBuilder
searchService
- search service instance.ProcessingException
- any error while processing the searchQueryBuilder.executeRequest(org.eclipse.smila.search.api.SearchService)
public SolrQueryBuilder setQueryFindAll()
public SolrQueryBuilder setShards(java.lang.String... shards)
shards
- the shards.public void setMoreLikeThis(AnyMap mltArgs)
SolrConstants.MORE_LIKE_THIS
. If the map
dosnt contain a value mlt
then it will be added setting it to true, thus turning on MLT.mltArgs
- public void addNativeParam(java.lang.String parameterName, java.lang.Object parameterValue)
AnyMap.add(String, org.eclipse.smila.datamodel.Any)
is used, which does some auto conversion to support
multiple values.parameterName
- parameterValue
- AnyMap#add(String, org.eclipse.smila.datamodel.Any)}
public void setNativeParam(java.lang.String parameterName, java.lang.Object parameterValue)
parameterName
- the parameter nameparameterValue
- the parameter valueaddNativeParam(String, Object)
public AnyMap addFilterGroup(java.lang.String filterGroupName)
filterGroupQ
- create
- public AnyMap addFilterGroupLocalParam(java.lang.String filterGroupName, java.lang.Object... params)
filterGroupName
- the filter group qparams
- the objects are AnyUtil.objectToAny(param);