SMILA 1.0 API documentation

org.eclipse.smila.solr.search
Class SolrQueryBuilder

java.lang.Object
  extended by org.eclipse.smila.search.api.helper.QueryBuilder
      extended by org.eclipse.smila.solr.search.SolrQueryBuilder

public class SolrQueryBuilder
extends QueryBuilder

This class is used to build a Solr Search Record via API and execute the search/request.

Author:
pwissel

Constructor Summary
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.
 
Method Summary
 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.
 
Methods inherited from class org.eclipse.smila.search.api.helper.QueryBuilder
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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SolrQueryBuilder

public SolrQueryBuilder()
Default constructor.


SolrQueryBuilder

public SolrQueryBuilder(java.lang.String workflowName)
Constructor.

Parameters:
workflowName - the workflow workflow name.

SolrQueryBuilder

public SolrQueryBuilder(java.lang.String workflowName,
                        DataFactory factory)
Constructor.

Parameters:
workflowName - the workflow name.
factory - the data factory.

SolrQueryBuilder

public SolrQueryBuilder(java.lang.String workflowName,
                        Record request)
Constructor.

Parameters:
workflowName - the workflow name.
request - the request record.
Method Detail

setStart

public SolrQueryBuilder setStart(int start)
Set start parameter.

Parameters:
start - the start parameter.
Returns:
the solr query builder.

setRows

public SolrQueryBuilder setRows(int rows)
Set rows parameter.

Parameters:
rows - the rows parameter.
Returns:
the solr query builder.

addFields

public SolrQueryBuilder addFields(java.lang.String... fields)
Add fields parameter.

Parameters:
fields - the fields parameter.
Returns:
the solr query record.

setRequestHandler

public SolrQueryBuilder setRequestHandler(java.lang.String name)
Set the request handler.

Parameters:
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).
Returns:
the solr query builder.

addFilterQuery

public SolrQueryBuilder addFilterQuery(java.lang.String filterQuery)
Adds a native solr filter query.

Parameters:
filterQuery - the filter query.
Returns:
the solr query builder.

executeRequest

public SolrResultAccessor executeRequest(SearchService searchService)
                                  throws ProcessingException
execute query on given search service and wrap result in high level result helper.

Overrides:
executeRequest in class QueryBuilder
Parameters:
searchService - search service instance.
Returns:
search result.
Throws:
ProcessingException - any error while processing the search
See Also:
QueryBuilder.executeRequest(org.eclipse.smila.search.api.SearchService)

setQueryFindAll

public SolrQueryBuilder setQueryFindAll()
Set the *:* as the query string to find all documents. Mainly used for testing. Only works when used with the right (default) query handler.

Returns:
SolrQueryBuilder.

setShards

public SolrQueryBuilder setShards(java.lang.String... shards)
Set shards.

Parameters:
shards - the shards.
Returns:
SolrQueryBuilder.

setMoreLikeThis

public void setMoreLikeThis(AnyMap mltArgs)
This will add the parameters to the _solr.query map and name it 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.

Parameters:
mltArgs -

addNativeParam

public void addNativeParam(java.lang.String parameterName,
                           java.lang.Object parameterValue)
Adds the given name-value as a parameter to the native parameter map. Note, that AnyMap.add(String, org.eclipse.smila.datamodel.Any) is used, which does some auto conversion to support multiple values.

Parameters:
parameterName -
parameterValue -
See Also:
AnyMap#add(String, org.eclipse.smila.datamodel.Any)}

setNativeParam

public 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.

Parameters:
parameterName - the parameter name
parameterValue - the parameter value
See Also:
addNativeParam(String, Object)

addFilterGroup

public AnyMap addFilterGroup(java.lang.String filterGroupName)
Parameters:
filterGroupQ -
create -
Returns:

addFilterGroupLocalParam

public AnyMap addFilterGroupLocalParam(java.lang.String filterGroupName,
                                       java.lang.Object... params)
Adds the given params to the local params map of the filter group.

Parameters:
filterGroupName - the filter group q
params - the objects are AnyUtil.objectToAny(param);
Returns:
the local params map

SMILA 1.0 API documentation