org.apache.lucene.facet
Class DrillDownQuery

java.lang.Object
  extended by org.apache.lucene.search.Query
      extended by org.apache.lucene.facet.DrillDownQuery
All Implemented Interfaces:
Cloneable

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 with ConstantScoreQuery and set the boost to 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 Summary
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.
 
Method Summary
 void add(String dim, Filter subFilter)
          Expert: add a custom drill-down Filter, e.g.
 void add(String dim, Query subQuery)
          Expert: add a custom drill-down subQuery.
 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 cofnstraints on that dimension, and all dimensions are AND'd against each other and the base query.
 DrillDownQuery clone()
           
 boolean equals(Object obj)
           
 int hashCode()
           
 Query rewrite(IndexReader r)
           
static Term term(String field, String dim, String... path)
          Creates a drill-down term.
 String toString(String field)
           
 
Methods inherited from class org.apache.lucene.search.Query
createWeight, extractTerms, getBoost, setBoost, toString
 
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

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 rewrite(IndexReader) will be a pure browsing query, filtering on the added categories only.

Method Detail

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 cofnstraints 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.


add

public void add(String dim,
                Filter subFilter)
Expert: add a custom drill-down Filter, e.g. when drilling down after range faceting.


clone

public DrillDownQuery clone()
Overrides:
clone in class Query

hashCode

public int hashCode()
Overrides:
hashCode in class Query

equals

public boolean equals(Object obj)
Overrides:
equals in class Query

rewrite

public Query rewrite(IndexReader r)
              throws IOException
Overrides:
rewrite in class Query
Throws:
IOException

toString

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


Copyright © 2000-2014 Apache Software Foundation. All Rights Reserved.