public class QueryContext extends Object
ReadableIndex.query(Object) and ReadableIndex.query(String, Object).
It allows a query to have sorting, default operators, and allows the engine
to turn off searching of modifications made inside a transaction,
to gain performance.| Constructor and Description |
|---|
QueryContext(Object queryOrQueryObject) |
| Modifier and Type | Method and Description |
|---|---|
QueryContext |
defaultOperator(org.apache.lucene.queryParser.QueryParser.Operator defaultOperator)
Changes the the default operator used between terms in compound queries,
default is OR.
|
org.apache.lucene.queryParser.QueryParser.Operator |
getDefaultOperator()
Returns the default operator used between terms in compound queries.
|
Object |
getQueryOrQueryObject() |
org.apache.lucene.search.Sort |
getSorting()
Returns the sorting setting for this context.
|
int |
getTop()
Return the max number of results to be returned.
|
boolean |
getTradeCorrectnessForSpeed()
Returns
true if this context is set to prioritize speed over
the inclusion of transactional state in the results. |
static QueryContext |
numericRange(String key,
Number from,
Number to)
Will create a
QueryContext with a query for numeric ranges, that is
values that have been indexed using ValueContext.indexNumeric(). |
static QueryContext |
numericRange(String key,
Number from,
Number to,
boolean includeFrom,
boolean includeTo)
Will create a
QueryContext with a query for numeric ranges, that is
values that have been indexed using ValueContext.indexNumeric(). |
QueryContext |
sort(org.apache.lucene.search.Sort sorting)
Returns a QueryContext with sorting added to it.
|
QueryContext |
sort(String key,
String... additionalKeys)
Returns a QueryContext with sorting added to it.
|
QueryContext |
sortByScore() |
QueryContext |
sortNumeric(String key,
boolean reversed)
Sort the results of a numeric range query if the query in this context
is a
NumericRangeQuery, see numericRange(String, Number, Number),
Otherwise an IllegalStateException will be thrown. |
QueryContext |
top(int numberOfTopHits)
Makes use of
IndexSearcher.search(org.apache.lucene.search.Query, int),
alternatively IndexSearcher.search(org.apache.lucene.search.Query, org.apache.lucene.search.Filter, int, Sort)
where only the top numberOfTopHits hits are returned. |
QueryContext |
tradeCorrectnessForSpeed()
Adding to or removing from an index affects results from query methods
inside the same transaction, even before those changes are committed.
|
public QueryContext(Object queryOrQueryObject)
public Object getQueryOrQueryObject()
public QueryContext sort(org.apache.lucene.search.Sort sorting)
sorting - The sorting to be usedpublic QueryContext sort(String key, String... additionalKeys)
key - The key to sort on.additionalKeys - Any additional keys to sort on.public QueryContext sortByScore()
public QueryContext sortNumeric(String key, boolean reversed)
NumericRangeQuery, see numericRange(String, Number, Number),
Otherwise an IllegalStateException will be thrown.key - the key to sort on.reversed - if the sort order should be reversed or not. true
for lowest first (ascending), false for highest first (descending)public org.apache.lucene.search.Sort getSorting()
sort(Sort) or sortByScore()public QueryContext defaultOperator(org.apache.lucene.queryParser.QueryParser.Operator defaultOperator)
defaultOperator - The new operator to use.public org.apache.lucene.queryParser.QueryParser.Operator getDefaultOperator()
QueryParser.Operator specified with
defaultOperator or "OR" if none specified.public QueryContext tradeCorrectnessForSpeed()
public boolean getTradeCorrectnessForSpeed()
true if this context is set to prioritize speed over
the inclusion of transactional state in the results.tradeCorrectnessForSpeed() has been called.public QueryContext top(int numberOfTopHits)
IndexSearcher.search(org.apache.lucene.search.Query, int),
alternatively IndexSearcher.search(org.apache.lucene.search.Query, org.apache.lucene.search.Filter, int, Sort)
where only the top numberOfTopHits hits are returned. Default
behavior is to return all hits, although lazily retrieved from lucene all
the way up to the IndexHits iterator.numberOfTopHits - the maximum number of top hits to return.QueryContext with the number of top hits set.public int getTop()
top(int).public static QueryContext numericRange(String key, Number from, Number to)
QueryContext with a query for numeric ranges, that is
values that have been indexed using ValueContext.indexNumeric().
from (lower) and to (higher) bounds are inclusive.
It will match the type of numbers supplied to the type of values that
are indexed in the index, f.ex. long, int, float and double.
If both from and to is null then it will default
to int.key - the property key to query.from - the low end of the range (inclusive)to - the high end of the range (inclusive)QueryContext to do numeric range queries with.public static QueryContext numericRange(String key, Number from, Number to, boolean includeFrom, boolean includeTo)
QueryContext with a query for numeric ranges, that is
values that have been indexed using ValueContext.indexNumeric().
It will match the type of numbers supplied to the type of values that
are indexed in the index, f.ex. long, int, float and double.
If both from and to is null then it will default
to int.key - the property key to query.from - the low end of the range (inclusive)to - the high end of the range (inclusive)includeFrom - whether or not from (the lower bound) is inclusive
or not.includeTo - whether or not to (the higher bound) is inclusive
or not.QueryContext to do numeric range queries with.Copyright © 2002–2015 The Neo4j Graph Database Project. All rights reserved.