Class DrillDownQuery

java.lang.Object
org.apache.lucene.search.Query
org.apache.lucene.facet.DrillDownQuery

public final class DrillDownQuery extends Query
A 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.

WARNING: This API is experimental and might change in incompatible ways in the next release.
  • Constructor Details

    • DrillDownQuery

      public DrillDownQuery(FacetsConfig config)
      Creates a new DrillDownQuery without a base query, to perform a pure browsing query (equivalent to using MatchAllDocsQuery as base).
    • DrillDownQuery

      public DrillDownQuery(FacetsConfig config, Query baseQuery)
      Creates a new DrillDownQuery over the given base query. Can be null, in which case the result Query from Query.rewrite(IndexSearcher) will be a pure browsing query, filtering on the added categories only.
  • Method Details

    • term

      public static Term term(String field, String dim, String... path)
      Creates a drill-down term.
    • 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()
      Overrides:
      clone in class Object
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in class Query
    • equals

      public boolean equals(Object other)
      Specified by:
      equals in class Query
    • rewrite

      public Query rewrite(IndexSearcher indexSearcher) throws IOException
      Overrides:
      rewrite in class Query
      Throws:
      IOException
    • toString

      public String toString(String field)
      Specified by:
      toString in class Query
    • visit

      public void visit(QueryVisitor visitor)
      Specified by:
      visit in class Query
    • 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 via add(String, Query) or add(String, String...)
      Returns:
      The array of dimQueries