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
AQueryfor 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
Queryby callingterm(java.lang.String, java.lang.String, java.lang.String...), it is recommended to wrap it in aBoostQuerywith 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 newDrillDownQuerywithout a base query, to perform a pure browsing query (equivalent to usingMatchAllDocsQueryas base).DrillDownQuery(FacetsConfig config, Query baseQuery)Creates a newDrillDownQueryover the given base query.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(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.voidadd(String dim, Query subQuery)Expert: add a custom drill-down subQuery.DrillDownQueryclone()booleanequals(Object other)QuerygetBaseQuery()Returns the internal baseQuery of the DrillDownQueryQuery[]getDrillDownQueries()Returns the dimension queries added either viaadd(String, Query)oradd(String, String...)inthashCode()Queryrewrite(IndexSearcher indexSearcher)static Termterm(String field, String dim, String... path)Creates a drill-down term.StringtoString(String field)voidvisit(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 newDrillDownQuerywithout a base query, to perform a pure browsing query (equivalent to usingMatchAllDocsQueryas base).
-
DrillDownQuery
public DrillDownQuery(FacetsConfig config, Query baseQuery)
Creates a newDrillDownQueryover the given base query. Can benull, in which case the resultQueryfromQuery.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:
rewritein 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
-
-