Namespace Lucene.Net.Search.Join
Classes
FixedBitSetCachingWrapperFilter
A Lucene.
JoinUtil
Utility for query time joining using Lucene.
Note
This API is experimental and might change in incompatible ways in the next release.
ToChildBlockJoinQuery
Just like To
Note
This API is experimental and might change in incompatible ways in the next release.
ToParentBlockJoinCollector
Collects parent document hits for a Lucene.
The parent Lucene.
You should only use this
collector if one or more of the clauses in the query is
a To
Multiple joins (star join) and nested joins and a mix of the two are allowed, as long as in all cases the documents corresponding to a single row of each joined parent table were indexed as a doc block.
For the simple star join you can retrieve the
Lucene.Net.Search.Grouping.ITopGroups<TGroupValue> instance containing each To
For nested joins, the query will run correctly (ie, match the right parent and child documents), however, because Lucene.Net.Search.Grouping.TopGroups<TGroupValue> is currently unable to support nesting (each group is not able to hold another Lucene.Net.Search.Grouping.TopGroups<TGroupValue>), you are only able to retrieve the Lucene.Net.Search.Grouping.TopGroups<TGroupValue> of the first join. The Lucene.Net.Search.Grouping.TopGroups<TGroupValue> of the nested joins will not be correct.
See http://lucene.apache.org/core/4_8_0/join/ for a code sample.
Note
This API is experimental and might change in incompatible ways in the next release.
ToParentBlockJoinFieldComparer
A field comparer that allows parent documents to be sorted by fields from the nested / child documents.
Note
This API is experimental and might change in incompatible ways in the next release.
ToParentBlockJoinFieldComparer.Highest
Concrete implementation of To
ToParentBlockJoinFieldComparer.Lowest
Concrete implementation of To
ToParentBlockJoinQuery
This query requires that you index
children and parent docs as a single block, using the
AddDocuments(IEnumerable<IEnumerable<IIndexableField>>, Analyzer)
or UpdateDocuments(Term, IEnumerable<IEnumerable<IIndexableField>>, Analyzer)
API. In each block, the
child documents must appear first, ending with the parent
document. At search time you provide a Lucene.
Once the block index is built, use this query to wrap
any sub-query matching only child docs and join matches in that
child document space up to the parent document space.
You can then use this Lucene.
See To
The child documents must be orthogonal to the parent documents: the wrapped child query must never return a parent document.
If you'd like to retrieve Lucene.Net.Search.Grouping.ITopGroups<TGroupValue> for the
resulting query, use the To
NOTE: If the overall query contains parent-only
matches, for example you OR a parent-only query with a
joined child-only query, then the resulting collected documents
will be correct, however the Lucene.Net.Search.Grouping.ITopGroups<TGroupValue> you get
from To
See http://lucene.apache.org/core/4_8_0/join/ for an overview.
Note
This API is experimental and might change in incompatible ways in the next release.
ToParentBlockJoinSortField
A special sort field that allows sorting parent docs based on nested / child level fields. Based on the sort order it either takes the document with the lowest or highest field value into account.
Note
This API is experimental and might change in incompatible ways in the next release.
Enums
ScoreMode
How to aggregate multiple child hit scores into a single parent score.