Class DrillDownQuery
A Lucene.Net.Search.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 Lucene.Net.Search.Query by calling
Term(String, String, String[]), it is recommended to wrap it with Lucene.Net.Search.ConstantScoreQuery
and set the Lucene.Net.Search.Query.Boost to 0.0f
,
so that it does not affect the scores of the documents.
Collection initializer note: To create and populate a DrillDownQuery
in a single statement, you can use the following example as a guide:
var drillDownQuery = new DrillDownQuery(config)
{
{ "Publish Date", "2019" },
{ "Publish Date", "2020" },
{ "Publish Date", "2021" },
{ "timestamp", NumericRangeQuery.NewInt64Range("timestamp", range.Min, range.Max, range.MinInclusive, range.MaxInclusive) },
{ "filter", GetFilter() }
};
Note
This API is experimental and might change in incompatible ways in the next release.
Inheritance
System.Object
Lucene.Net.Search.Query
DrillDownQuery
Implements
System.Collections.Generic.IEnumerable<Lucene.Net.Search.BooleanClause>
System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.String, System.Int32>>
System.Collections.IEnumerable
Inherited Members
Lucene.Net.Search.Query.Boost
Lucene.Net.Search.Query.ToString()
Lucene.Net.Search.Query.CreateWeight(Lucene.Net.Search.IndexSearcher)
System.Object.Equals(System.Object, System.Object)
System.Object.GetType()
System.Object.MemberwiseClone()
System.Object.ReferenceEquals(System.Object, System.Object)
Assembly: Lucene.Net.Facet.dll
Syntax
public sealed class DrillDownQuery : Query, IEnumerable<BooleanClause>, IEnumerable<KeyValuePair<string, int>>, IEnumerable
Constructors
|
Improve this Doc
View Source
DrillDownQuery(FacetsConfig)
Creates a new DrillDownQuery without a base query,
to perform a pure browsing query (equivalent to using
Lucene.Net.Search.MatchAllDocsQuery as base).
Declaration
public DrillDownQuery(FacetsConfig config)
Parameters
|
Improve this Doc
View Source
DrillDownQuery(FacetsConfig, Query)
Creates a new DrillDownQuery over the given base query. Can be
null
, in which case the result Lucene.Net.Search.Query from
Rewrite(IndexReader) will be a pure browsing query, filtering on
the added categories only.
Declaration
public DrillDownQuery(FacetsConfig config, Query baseQuery)
Parameters
Type |
Name |
Description |
FacetsConfig |
config |
|
Lucene.Net.Search.Query |
baseQuery |
|
Methods
|
Improve this Doc
View Source
Add(String, Filter)
Expert: add a custom drill-down Filter, e.g. when
drilling down after range faceting.
Declaration
public void Add(string dim, Filter subFilter)
Parameters
Type |
Name |
Description |
System.String |
dim |
|
Lucene.Net.Search.Filter |
subFilter |
|
|
Improve this Doc
View Source
Add(String, Query)
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.
Declaration
public void Add(string dim, Query subQuery)
Parameters
Type |
Name |
Description |
System.String |
dim |
|
Lucene.Net.Search.Query |
subQuery |
|
|
Improve this Doc
View Source
Add(String, String[])
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.
Declaration
public void Add(string dim, params string[] path)
Parameters
Type |
Name |
Description |
System.String |
dim |
|
System.String[] |
path |
|
|
Improve this Doc
View Source
Clone()
Declaration
public override object Clone()
Returns
Type |
Description |
System.Object |
|
Overrides
Lucene.Net.Search.Query.Clone()
|
Improve this Doc
View Source
Equals(Object)
Declaration
public override bool Equals(object obj)
Parameters
Type |
Name |
Description |
System.Object |
obj |
|
Returns
Type |
Description |
System.Boolean |
|
Overrides
|
Improve this Doc
View Source
GetEnumerator()
Returns an iterator on the clauses in this query. It implements the IEnumerable{BooleanClause} interface to
make it possible to do:
foreach (BooleanClause clause in drillDownQuery) {}
Declaration
public IEnumerator<BooleanClause> GetEnumerator()
Returns
Type |
Description |
System.Collections.Generic.IEnumerator<Lucene.Net.Search.BooleanClause> |
|
|
Improve this Doc
View Source
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Type |
Description |
System.Int32 |
|
Overrides
Lucene.Net.Search.Query.GetHashCode()
|
Improve this Doc
View Source
Rewrite(IndexReader)
Declaration
public override Query Rewrite(IndexReader r)
Parameters
Type |
Name |
Description |
Lucene.Net.Index.IndexReader |
r |
|
Returns
Type |
Description |
Lucene.Net.Search.Query |
|
Overrides
Lucene.Net.Search.Query.Rewrite(Lucene.Net.Index.IndexReader)
|
Improve this Doc
View Source
Term(String, String, String[])
Creates a drill-down term.
Declaration
public static Term Term(string field, string dim, params string[] path)
Parameters
Type |
Name |
Description |
System.String |
field |
|
System.String |
dim |
|
System.String[] |
path |
|
Returns
Type |
Description |
Lucene.Net.Index.Term |
|
|
Improve this Doc
View Source
ToString(String)
Declaration
public override string ToString(string field)
Parameters
Type |
Name |
Description |
System.String |
field |
|
Returns
Type |
Description |
System.String |
|
Overrides
Explicit Interface Implementations
|
Improve this Doc
View Source
IEnumerable<KeyValuePair<String, Int32>>.GetEnumerator()
Returns an iterator on the dims in this query. It implements the interface to
make it possible to do:
foreach (KeyValuePair<string, int> dimensionAndCount in (IEnumerable<KeyValuePair<string, int>>)drillDownQuery) {}
Declaration
IEnumerator<KeyValuePair<string, int>> IEnumerable<KeyValuePair<string, int>>.GetEnumerator()
Returns
Type |
Description |
System.Collections.Generic.IEnumerator<System.Collections.Generic.KeyValuePair<System.String, System.Int32>> |
|
|
Improve this Doc
View Source
IEnumerable.GetEnumerator()
Declaration
IEnumerator IEnumerable.GetEnumerator()
Returns
Type |
Description |
System.Collections.IEnumerator |
|
Implements
System.Collections.Generic.IEnumerable<T>
System.Collections.Generic.IEnumerable<T>
System.Collections.IEnumerable