|
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 factory
public 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 search
public org.w3c.dom.Document executeRequestXml(SearchService searchService)
throws javax.xml.parsers.ParserConfigurationException
searchService - search service instance.
javax.xml.parsers.ParserConfigurationException - error creating the XML result
public 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 | ||||||||