|
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. |
|
QueryBuilder(java.lang.String workflowName,
Record query)
init request for given record. |
|
QueryBuilder(java.lang.String workflowName,
RecordFactory factory)
init request for given pipeline, use non-default RecordFactory. |
Method Summary | |
---|---|
QueryBuilder |
addAnnotationNamedValue(java.lang.String attributeName,
java.lang.String[] pathElements,
java.lang.String valueName,
java.lang.String value)
Deprecated. Use setAnnotationNamedValue(String,String[],String,String) instead |
QueryBuilder |
addEnumFilter(java.lang.String attributeName,
SearchAnnotations.FilterMode mode,
java.lang.Iterable<? extends java.lang.Object> filterValues)
add an enumeration filter to an attribute. |
QueryBuilder |
addFacetFilter(Facets facetList,
int index)
Deprecated. Use addFacetFilterToQuery(Facets,int) instead |
QueryBuilder |
addFacetFilterToQuery(Facets facetList,
int index)
copy filter from a facet to the attribute of this facet. |
QueryBuilder |
addLiteral(java.lang.String attributeName,
Literal literal)
add a ready built literal to an attribute. |
QueryBuilder |
addLiteral(java.lang.String attributeName,
java.lang.Object value)
add a literal value to an attribute. |
QueryBuilder |
addOrderBy(java.lang.String attribute,
SearchParameters.OrderMode mode)
add an orderby specification. |
QueryBuilder |
addParameter(java.lang.String name,
java.lang.String value)
adds an anonymous value to a service runtime parameter annotation. |
QueryBuilder |
addRangeFilter(java.lang.String attributeName,
SearchAnnotations.FilterMode mode,
java.lang.Object lowerBound,
java.lang.Object upperBound)
add a range filter to an attribute. |
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. |
ParameterAnnotation |
getParameters()
access service runtime parameters of query object. |
Record |
getQuery()
access underlying query record for advanced manipulation. |
Annotation |
getRankingAnnotation(java.lang.String attributeName)
ensure and return ranking annotation for current record or given attribute. |
java.lang.String |
getWorkflowName()
the name of the search pipeline to use. |
QueryBuilder |
setAnnotationNamedValue(java.lang.String attributeName,
java.lang.String[] pathElements,
java.lang.String valueName,
java.lang.String value)
sets a named value of an attribute's (sub) annotation. if any of the given elements do not exist they will be created along the way. |
QueryBuilder |
setAttachment(java.lang.String name,
byte[] attachment)
add attachment to query. |
QueryBuilder |
setBoostFactor(java.lang.String attributeName,
double boost)
set boost factor for attribute. |
QueryBuilder |
setId(Id 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 |
setParameter(java.lang.String name,
java.lang.String value)
sets a named value in the service runtime parameter annotation. |
QueryBuilder |
setQuery(java.lang.String queryString)
set the textual query string for the query. |
QueryBuilder |
setRankingName(java.lang.String attributeName,
java.lang.String rankingName)
set ranking name for record or attribute. |
QueryBuilder |
setResultOffset(int offset)
set the search result offset for the query, i.e. the number of most relevant result objects to skip in the result list. |
QueryBuilder |
setResultSize(int size)
set the maximum search result size for the query. |
QueryBuilder |
setThreshold(double threshold)
set the threshold for the relevance value of search results, i.e. only results having a relevance of at least the threshold value, should be returned to the client. |
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
- pipeline name.public QueryBuilder(java.lang.String workflowName, RecordFactory factory)
workflowName
- pipeline namefactory
- record factory to use.public QueryBuilder(java.lang.String workflowName, Record query)
workflowName
- pipeline namequery
- query record to use.Method Detail |
---|
public QueryBuilder setId(Id id)
UUID
as key.
id
- Id
public QueryBuilder setQuery(java.lang.String queryString)
queryString
- textual query string.
public QueryBuilder setResultSize(int size)
size
- maximum result size.
public QueryBuilder setResultOffset(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 addLiteral(java.lang.String attributeName, java.lang.Object value) throws InvalidTypeException
String
Number
Boolean
Date
attributeName
- name of attributevalue
- value
InvalidTypeException
- object type cannot be used as a literal value.public QueryBuilder addLiteral(java.lang.String attributeName, Literal literal)
attributeName
- attribute name.literal
- a literal to add
public QueryBuilder addEnumFilter(java.lang.String attributeName, SearchAnnotations.FilterMode mode, java.lang.Iterable<? extends java.lang.Object> filterValues) throws InvalidTypeException
SearchAnnotations.FilterMode
specifies what "matching" means:
attributeName
- name of attribute.mode
- filter modefilterValues
- filter values.
InvalidTypeException
- at least one filter values is of an invalid classpublic QueryBuilder addRangeFilter(java.lang.String attributeName, SearchAnnotations.FilterMode mode, java.lang.Object lowerBound, java.lang.Object upperBound) throws InvalidTypeException
attributeName
- name of attribute.mode
- filter modelowerBound
- lower bound of filter range. can be nullupperBound
- upper bound of filter range. can be null.
InvalidTypeException
- at least one filter values is of an invalid classpublic QueryBuilder addFacetFilter(Facets facetList, int index)
addFacetFilterToQuery(Facets,int)
instead
facetList
- list of facets for a single attributeindex
- position of used facet.
public QueryBuilder addFacetFilterToQuery(Facets facetList, int index)
Facets.getStringFilter(int)
must be set in the pipeline
that returns a text filter valid for immediate appending to the input query string.
facetList
- list of facets for a single attributeindex
- position of used facet.
public QueryBuilder addOrderBy(java.lang.String attribute, SearchParameters.OrderMode mode)
attribute
- an attribute to order bymode
- the order direction (ascending or descending)
public Annotation getRankingAnnotation(java.lang.String attributeName)
attributeName
- name of attribute, or null for top-level ranking annotation.
public QueryBuilder setBoostFactor(java.lang.String attributeName, double boost)
attributeName
- name of attributeboost
- boost factor
public QueryBuilder setRankingName(java.lang.String attributeName, java.lang.String rankingName)
attributeName
- name of attribute, or null for top-level ranking annotation.rankingName
- name of ranking.
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 java.lang.String getWorkflowName()
public ParameterAnnotation getParameters()
public QueryBuilder addAnnotationNamedValue(java.lang.String attributeName, java.lang.String[] pathElements, java.lang.String valueName, java.lang.String value)
setAnnotationNamedValue(String,String[],String,String)
instead
attributeName
- attribute namepathElements
- path of annotation namesvalueName
- name of named valuevalue
- value
InvalidTypeException
- should not happenpublic QueryBuilder setAnnotationNamedValue(java.lang.String attributeName, java.lang.String[] pathElements, java.lang.String valueName, java.lang.String value)
attributeName
- attribute namepathElements
- path of annotation namesvalueName
- name of named valuevalue
- value
InvalidTypeException
- should not happen
|
SMILA (incubation) API documentation | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |