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, toString
public 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.Object
public int hashCode()
Query
QueryCache
works properly.hashCode
in class Query
Query.equals(Object)
public boolean equals(java.lang.Object other)
Query
QueryCache
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 Query
Query.sameClassAs(Object)
,
Query.classHash()
public Query rewrite(IndexReader r) throws java.io.IOException
Query
Copyright © 2000–2019 The Apache Software Foundation. All rights reserved.