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-2014 Apache Software Foundation. All Rights Reserved.