Package org.apache.lucene.facet
Class DrillDownQuery
- java.lang.Object
-
- org.apache.lucene.search.Query
-
- org.apache.lucene.facet.DrillDownQuery
-
- All Implemented Interfaces:
java.lang.Cloneable
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 withConstantScoreQuery
and set theboost
to0.0f
, so that it does not affect the scores of the documents.
-
-
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(java.lang.String dim, java.lang.String... path)
Adds one dimension of drill downs; if you pass the same dimension more than once it is OR'd with the previous cofnstraints on that dimension, and all dimensions are AND'd against each other and the base query.void
add(java.lang.String dim, Filter subFilter)
Expert: add a custom drill-down Filter, e.g.void
add(java.lang.String dim, Query subQuery)
Expert: add a custom drill-down subQuery.DrillDownQuery
clone()
Returns a clone of this query.boolean
equals(java.lang.Object obj)
int
hashCode()
Query
rewrite(IndexReader r)
Expert: called to re-write queries into primitive queries.static Term
term(java.lang.String field, java.lang.String dim, java.lang.String... path)
Creates a drill-down term.java.lang.String
toString(java.lang.String field)
Prints a query to a string, withfield
assumed to be the default field and omitted.-
Methods inherited from class org.apache.lucene.search.Query
createWeight, extractTerms, getBoost, setBoost, 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
fromrewrite(IndexReader)
will be a pure browsing query, filtering on the added categories only.
-
-
Method Detail
-
term
public static Term term(java.lang.String field, java.lang.String dim, java.lang.String... path)
Creates a drill-down term.
-
add
public void add(java.lang.String dim, java.lang.String... path)
Adds one dimension of drill downs; if you pass the same dimension more than once it is OR'd with the previous cofnstraints on that dimension, and all dimensions are AND'd against each other and the base query.
-
add
public void add(java.lang.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.
-
add
public void add(java.lang.String dim, Filter subFilter)
Expert: add a custom drill-down Filter, e.g. when drilling down after range faceting.
-
clone
public DrillDownQuery clone()
Description copied from class:Query
Returns a clone of this query.
-
rewrite
public Query rewrite(IndexReader r) throws java.io.IOException
Description copied from class:Query
Expert: called to re-write queries into primitive queries. For example, a PrefixQuery will be rewritten into a BooleanQuery that consists of TermQuerys.
-
-