public final class DrillDownQuery extends Query
Query for drill-down over facet categories. You
should call add(String, String...) for every group of categories you
want to drill-down over.
NOTE: if you choose to create your own Query by calling
term(java.lang.String, java.lang.String, java.lang.String...), it is recommended to wrap it in a BoostQuery
with a boost of 0.0f,
so that it does not affect the scores of the documents.
| Constructor and Description |
|---|
DrillDownQuery(FacetsConfig config)
Creates a new
DrillDownQuery without a base query,
to perform a pure browsing query (equivalent to using
MatchAllDocsQuery as base). |
DrillDownQuery(FacetsConfig config,
Query baseQuery)
Creates a new
DrillDownQuery over the given base query. |
| Modifier and Type | Method and Description |
|---|---|
void |
add(java.lang.String dim,
Query subQuery)
Expert: add a custom drill-down subQuery.
|
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.
|
DrillDownQuery |
clone() |
boolean |
equals(java.lang.Object other)
Override and implement query instance equivalence properly in a subclass.
|
int |
hashCode()
Override and implement query hash code properly in a subclass.
|
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, with
field assumed to be the
default field and omitted. |
classHash, createWeight, sameClassAs, toStringpublic DrillDownQuery(FacetsConfig config)
DrillDownQuery without a base query,
to perform a pure browsing query (equivalent to using
MatchAllDocsQuery as base).public DrillDownQuery(FacetsConfig config, Query baseQuery)
DrillDownQuery over the given base query. Can be
null, in which case the result Query from
rewrite(IndexReader) will be a pure browsing query, filtering on
the added categories only.public static Term term(java.lang.String field, java.lang.String dim, java.lang.String... path)
public void add(java.lang.String dim,
java.lang.String... path)
public void add(java.lang.String dim,
Query subQuery)
public DrillDownQuery clone()
clone in class java.lang.Objectpublic int hashCode()
QueryQueryCache works properly.hashCode in class QueryQuery.equals(Object)public boolean equals(java.lang.Object other)
QueryQueryCache works properly.
Typically a query will be equal to another only if it's an instance of
the same class and its document-filtering properties are identical that other
instance. Utility methods are provided for certain repetitive code.equals in class QueryQuery.sameClassAs(Object),
Query.classHash()public Query rewrite(IndexReader r) throws java.io.IOException
QueryCopyright © 2000–2025 The Apache Software Foundation. All rights reserved.