Package org.apache.lucene.facet
Class DrillDownQuery
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- org.apache.lucene.facet.DrillDownQuery
-
public final class DrillDownQuery extends Query
AQuery
for drill-down over facet categories. You should calladd(String, String...)
for every group of categories you want to drill-down over.NOTE: if you choose to create your own
Query
by callingterm(java.lang.String, java.lang.String, java.lang.String...)
, it is recommended to wrap it in aBoostQuery
with a boost of0.0f
, so that it does not affect the scores of the documents.- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
-
Constructor Summary
Constructors Constructor Description DrillDownQuery(FacetsConfig config)
Creates a newDrillDownQuery
without a base query, to perform a pure browsing query (equivalent to usingMatchAllDocsQuery
as base).DrillDownQuery(FacetsConfig config, Query baseQuery)
Creates a newDrillDownQuery
over the given base query.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
add(String dim, String... path)
Adds one dimension of drill downs; if you pass the same dimension more than once it is OR'd with the previous constraints on that dimension, and all dimensions are AND'd against each other and the base query.void
add(String dim, Query subQuery)
Expert: add a custom drill-down subQuery.DrillDownQuery
clone()
boolean
equals(Object other)
Query
getBaseQuery()
Returns the internal baseQuery of the DrillDownQueryQuery[]
getDrillDownQueries()
Returns the dimension queries added either viaadd(String, Query)
oradd(String, String...)
int
hashCode()
Query
rewrite(IndexSearcher indexSearcher)
static Term
term(String field, String dim, String... path)
Creates a drill-down term.String
toString(String field)
void
visit(QueryVisitor visitor)
-
Methods inherited from class org.apache.lucene.search.Query
classHash, createWeight, rewrite, sameClassAs, toString
-
-
-
-
Constructor Detail
-
DrillDownQuery
public DrillDownQuery(FacetsConfig config)
Creates a newDrillDownQuery
without a base query, to perform a pure browsing query (equivalent to usingMatchAllDocsQuery
as base).
-
DrillDownQuery
public DrillDownQuery(FacetsConfig config, Query baseQuery)
Creates a newDrillDownQuery
over the given base query. Can benull
, in which case the resultQuery
fromQuery.rewrite(IndexSearcher)
will be a pure browsing query, filtering on the added categories only.
-
-
Method Detail
-
add
public void add(String dim, String... path)
Adds one dimension of drill downs; if you pass the same dimension more than once it is OR'd with the previous constraints on that dimension, and all dimensions are AND'd against each other and the base query.
-
add
public void add(String dim, Query subQuery)
Expert: add a custom drill-down subQuery. Use this when you have a separate way to drill-down on the dimension than the indexed facet ordinals.
-
clone
public DrillDownQuery clone()
-
rewrite
public Query rewrite(IndexSearcher indexSearcher) throws IOException
- Overrides:
rewrite
in classQuery
- Throws:
IOException
-
visit
public void visit(QueryVisitor visitor)
-
getBaseQuery
public Query getBaseQuery()
Returns the internal baseQuery of the DrillDownQuery- Returns:
- The baseQuery used on initialization of DrillDownQuery
-
getDrillDownQueries
public Query[] getDrillDownQueries()
Returns the dimension queries added either viaadd(String, Query)
oradd(String, String...)
- Returns:
- The array of dimQueries
-
-