public final class JoinUtil extends Object
Modifier and Type | Method and Description |
---|---|
static Query |
createJoinQuery(String fromField,
boolean multipleValuesPerDocument,
String toField,
Query fromQuery,
IndexSearcher fromSearcher,
ScoreMode scoreMode)
Method for query time joining.
|
public static Query createJoinQuery(String fromField, boolean multipleValuesPerDocument, String toField, Query fromQuery, IndexSearcher fromSearcher, ScoreMode scoreMode) throws IOException
IndexSearcher
to retrieve all documents that have the same terms in the
to field that match with documents matching the specified fromQuery and have the same terms in the from field.
In the case a single document relates to more than one document the multipleValuesPerDocument
option
should be set to true. When the multipleValuesPerDocument
is set to true
only the
the score from the first encountered join value originating from the 'from' side is mapped into the 'to' side.
Even in the case when a second join value related to a specific document yields a higher score. Obviously this
doesn't apply in the case that ScoreMode.None
is used, since no scores are computed at all.
Memory considerations: During joining all unique join values are kept in memory. On top of that when the scoreMode
isn't set to ScoreMode.None
a float value per unique join value is kept in memory for computing scores.
When scoreMode is set to ScoreMode.Avg
also an additional integer value is kept in memory per unique
join value.fromField
- The from field to join frommultipleValuesPerDocument
- Whether the from field has multiple terms per documenttoField
- The to field to join tofromQuery
- The query to match documents on the from sidefromSearcher
- The searcher that executed the specified fromQueryscoreMode
- Instructs how scores from the fromQuery are mapped to the returned queryQuery
instance that can be used to join documents based on the
terms in the from and to fieldIOException
- If I/O related errors occurCopyright © 2000-2013 Apache Software Foundation. All Rights Reserved.