|
SMILA (incubation) API documentation | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.eclipse.smila.search.api.helper.QueryBuilder
public class QueryBuilder
Builder for Query objects to send to a search service. Most methods just return the QueryBuilder they were called on to make it easy to chain several methods call in a single code line.
Constructor Summary | |
---|---|
QueryBuilder(java.lang.String workflowName)
init request for given pipeline with default data factory. |
|
QueryBuilder(java.lang.String workflowName,
DataFactory factory)
create for non-default data factory. |
|
QueryBuilder(java.lang.String workflowName,
Record request)
create based on existing record. |
Method Summary | |
---|---|
QueryBuilder |
addAllOfFilter(java.lang.String attribute,
java.lang.Object... values)
add a "allOf" filter of required values for an attribute. |
QueryBuilder |
addAtLeastFilter(java.lang.String attribute,
java.lang.Object value)
add a "atLeast" filter for the minimum (inclusive lower bound) value of an attribute. |
QueryBuilder |
addAtMostFilter(java.lang.String attribute,
java.lang.Object value)
add a "atMost" filter for the maximum (inclusive upper bound) value of an attribute. |
QueryBuilder |
addAttributeConfig(java.lang.String parameterName,
java.lang.String attributeName,
AnyMap config)
add a complex parameter (ie. |
QueryBuilder |
addBoundFilter(java.lang.String attribute,
java.lang.String filterType,
java.lang.Object boundValue)
add a filter with a single value bound. |
QueryBuilder |
addFilter(java.lang.String attribute,
AnyMap filter)
add a arbitrary complex filter object for an attribute. |
QueryBuilder |
addGreaterThanFilter(java.lang.String attribute,
java.lang.Object value)
add a "greaterThan" filter for the exclusive lower bound value of an attribute. |
QueryBuilder |
addGroupByAttribute(java.lang.String attribute,
int maxCount)
add groupby config for attribute with maxcount. |
QueryBuilder |
addGroupByAttribute(java.lang.String attribute,
int maxCount,
java.lang.String sortCriterion,
QueryConstants.SortOrder sortOrder)
add groupby config for attribute with maxcount and sort config for groups. |
QueryBuilder |
addGroupByConfig(java.lang.String attribute,
AnyMap config)
|
QueryBuilder |
addHighlightAttributes(java.lang.String... attributes)
|
QueryBuilder |
addLessThanFilter(java.lang.String attribute,
java.lang.Object value)
add a "lessThan" filter for the exclusive upper bound value of an attribute. |
QueryBuilder |
addListFilter(java.lang.String attribute,
java.lang.String filterType,
java.lang.Object... values)
add a filter with a value list. |
QueryBuilder |
addNoneOfFilter(java.lang.String attribute,
java.lang.Object... values)
add a "noneOf" filter of forbidden values for an attribute. |
QueryBuilder |
addOneOfFilter(java.lang.String attribute,
java.lang.Object... values)
add a "oneOf" filter of allowed values for an attribute. |
QueryBuilder |
addParameter(java.lang.String name,
java.lang.String value)
adds to a parameter sequence. |
QueryBuilder |
addRangeFilter(java.lang.String attribute,
java.lang.Object lowerBound,
java.lang.Object upperBound)
add range filter (inclusive). |
QueryBuilder |
addResultAttributes(java.lang.String... fieldNames)
adds the given fieldNames as result field(s). |
QueryBuilder |
addSortBy(java.lang.String attribute,
QueryConstants.SortOrder mode)
add an sortby specification. |
ResultAccessor |
executeRequest(SearchService searchService)
execute query on given search service and wrap result in high level result helper. |
org.w3c.dom.Document |
executeRequestXml(SearchService searchService)
execute query on given search service and return search result as XML DOM document. |
java.lang.String |
executeRequestXmlString(SearchService searchService)
execute query on given search service and return search result as XML string. |
DataFactory |
getFactory()
|
AnyMap |
getMetadata()
access underlying query record metadata for advanced manipulation. |
Record |
getQuery()
access underlying query record for advanced manipulation. |
java.lang.String |
getWorkflowName()
the name of the search pipeline to use. |
QueryBuilder |
setAttachment(java.lang.String name,
byte[] attachment)
add attachment to query. |
QueryBuilder |
setId(java.lang.String id)
set the ID of the query record. |
QueryBuilder |
setIndexName(java.lang.String indexName)
set the index name for the query. |
QueryBuilder |
setLanguage(java.lang.String language)
set the language parameter for the query. |
QueryBuilder |
setMaxCount(int maxCount)
set the maximum search result size for the query. |
QueryBuilder |
setOffset(int offset)
set the search result offset for the query, i.e. |
QueryBuilder |
setParameter(java.lang.String name,
java.lang.String value)
sets a single parameter value. |
QueryBuilder |
setQuery(java.lang.String queryString)
set the textual query string for the query. |
QueryBuilder |
setQueryAttribute(java.lang.String attributeName,
java.lang.Object... values)
set attribute in "queryAttribute" part of request. |
QueryBuilder |
setRanking(Any ranking)
|
QueryBuilder |
setResultAttributes(java.lang.String... attributes)
set names attributes to appear in result records. |
QueryBuilder |
setThreshold(double threshold)
set the threshold for the relevance value of search results, i.e. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public QueryBuilder(java.lang.String workflowName)
workflowName
- workflow name.public QueryBuilder(java.lang.String workflowName, DataFactory factory)
workflowName
- workflow name.factory
- data factorypublic QueryBuilder(java.lang.String workflowName, Record request)
workflowName
- workflow name.request
- base request.Method Detail |
---|
public QueryBuilder setId(java.lang.String id)
UUID
as key.
id
- Id
public QueryBuilder setQuery(java.lang.String queryString)
queryString
- textual query string.
public QueryBuilder setQueryAttribute(java.lang.String attributeName, java.lang.Object... values)
attributeName
- attribute namevalues
- values.
public QueryBuilder setMaxCount(int maxCount)
maxCount
- maximum result count.
public QueryBuilder setOffset(int offset)
offset
- result offset
public QueryBuilder setThreshold(double threshold)
threshold
- relevance threshold value.
public QueryBuilder setLanguage(java.lang.String language)
language
- a language code.
public QueryBuilder setIndexName(java.lang.String indexName)
indexName
- index name
public QueryBuilder setResultAttributes(java.lang.String... attributes)
attributes
- attribute names.
public QueryBuilder setRanking(Any ranking)
ranking
- set ranking configuration
public QueryBuilder addSortBy(java.lang.String attribute, QueryConstants.SortOrder mode)
attribute
- an attribute to order bymode
- the order direction (ascending or descending)
public QueryBuilder addHighlightAttributes(java.lang.String... attributes)
attributes
- names of attributes to highlight
public QueryBuilder addGroupByAttribute(java.lang.String attribute, int maxCount, java.lang.String sortCriterion, QueryConstants.SortOrder sortOrder)
attribute
- attribute namemaxCount
- max number of groups to returnsortCriterion
- sort criterion for groups, e.g. "value" or "count"sortOrder
- sort order for groups
public QueryBuilder addGroupByAttribute(java.lang.String attribute, int maxCount)
attribute
- attribute namemaxCount
- max number of groups to return
public QueryBuilder addGroupByConfig(java.lang.String attribute, AnyMap config)
attribute
- attribute nameconfig
- groupBy config for this attribute
public QueryBuilder addOneOfFilter(java.lang.String attribute, java.lang.Object... values)
attribute
- attribute namevalues
- allowed values
public QueryBuilder addAllOfFilter(java.lang.String attribute, java.lang.Object... values)
attribute
- attribute namevalues
- required values
public QueryBuilder addNoneOfFilter(java.lang.String attribute, java.lang.Object... values)
attribute
- attribute namevalues
- forbidden values
public QueryBuilder addAtLeastFilter(java.lang.String attribute, java.lang.Object value)
attribute
- attribute namevalue
- minimum value
public QueryBuilder addAtMostFilter(java.lang.String attribute, java.lang.Object value)
attribute
- attribute namevalue
- maximum value
public QueryBuilder addGreaterThanFilter(java.lang.String attribute, java.lang.Object value)
attribute
- attribute namevalue
- exclusive lower bound value
public QueryBuilder addLessThanFilter(java.lang.String attribute, java.lang.Object value)
attribute
- attribute namevalue
- exclusive upper bound value
public QueryBuilder addRangeFilter(java.lang.String attribute, java.lang.Object lowerBound, java.lang.Object upperBound)
attribute
- attribute namelowerBound
- lower bound of rangeupperBound
- upper bound of range
public QueryBuilder addListFilter(java.lang.String attribute, java.lang.String filterType, java.lang.Object... values)
attribute
- attribute namefilterType
- filter typevalues
- filter values
public QueryBuilder addBoundFilter(java.lang.String attribute, java.lang.String filterType, java.lang.Object boundValue)
attribute
- attribute namefilterType
- filter typeboundValue
- value
public QueryBuilder addFilter(java.lang.String attribute, AnyMap filter)
attribute
- attribute namefilter
- filter
public QueryBuilder addAttributeConfig(java.lang.String parameterName, java.lang.String attributeName, AnyMap config)
{Seq key='parameterName' ${config-map {Value key='attribute' value='$attributeName'} } }
parameterName
- parameter nameattributeName
- attribute nameconfig
- the map which is added to the seq named param and inti which the attribute string/value is added.
public QueryBuilder setParameter(java.lang.String name, java.lang.String value)
name
- parameter namevalue
- parameter value
public QueryBuilder addParameter(java.lang.String name, java.lang.String value)
name
- parameter namevalue
- parameter value
public QueryBuilder setAttachment(java.lang.String name, byte[] attachment)
name
- attachment nameattachment
- attachment content
public ResultAccessor executeRequest(SearchService searchService) throws ProcessingException
searchService
- search service instance.
ProcessingException
- any error while processing the searchpublic org.w3c.dom.Document executeRequestXml(SearchService searchService) throws javax.xml.parsers.ParserConfigurationException
searchService
- search service instance.
javax.xml.parsers.ParserConfigurationException
- error creating the XML resultpublic java.lang.String executeRequestXmlString(SearchService searchService) throws javax.xml.parsers.ParserConfigurationException
searchService
- search service instance.
javax.xml.parsers.ParserConfigurationException
- error creating the XML resultpublic Record getQuery()
public AnyMap getMetadata()
public java.lang.String getWorkflowName()
public DataFactory getFactory()
public QueryBuilder addResultAttributes(java.lang.String... fieldNames)
|
SMILA (incubation) API documentation | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |