Class LateInteractionFloatValuesSource
- All Implemented Interfaces:
SegmentCacheable
DoubleValuesSource
that scores documents using similarity between a multi-vector query,
and indexed document multi-vectors.
This is useful re-ranking query results using late interaction models, where documents and
queries are represented as multi-vectors of composing token vectors. Document vectors are indexed
using LateInteractionField
.
- WARNING: This API is experimental and might change in incompatible ways in the next release.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enum
Defines the function to compute similarity score between query and document multi-vectors -
Field Summary
Fields inherited from class org.apache.lucene.search.DoubleValuesSource
SCORES
-
Constructor Summary
ConstructorsConstructorDescriptionLateInteractionFloatValuesSource
(String fieldName, float[][] queryVector) LateInteractionFloatValuesSource
(String fieldName, float[][] queryVector, VectorSimilarityFunction vectorSimilarityFunction) LateInteractionFloatValuesSource
(String fieldName, float[][] queryVector, VectorSimilarityFunction vectorSimilarityFunction, MultiVectorSimilarity scoreFunction) -
Method Summary
Modifier and TypeMethodDescriptionboolean
getValues
(LeafReaderContext ctx, DoubleValues scores) Returns aDoubleValues
instance for the passed-in LeafReaderContext and scoresint
hashCode()
boolean
boolean
Return true if document scores are needed to calculate valuesrewrite
(IndexSearcher reader) Return a DoubleValuesSource specialised for the given IndexSearchertoString()
Methods inherited from class org.apache.lucene.search.DoubleValuesSource
constant, explain, fromDoubleField, fromField, fromFloatField, fromIntField, fromLongField, fromQuery, fromScorer, getSortField, similarityToQueryVector, similarityToQueryVector, toLongValuesSource, toSortableLongDoubleValuesSource
-
Constructor Details
-
LateInteractionFloatValuesSource
-
LateInteractionFloatValuesSource
public LateInteractionFloatValuesSource(String fieldName, float[][] queryVector, VectorSimilarityFunction vectorSimilarityFunction) -
LateInteractionFloatValuesSource
public LateInteractionFloatValuesSource(String fieldName, float[][] queryVector, VectorSimilarityFunction vectorSimilarityFunction, MultiVectorSimilarity scoreFunction)
-
-
Method Details
-
getValues
Description copied from class:DoubleValuesSource
Returns aDoubleValues
instance for the passed-in LeafReaderContext and scoresIf scores are not needed to calculate the values (ie
returns false
, callers may safely passnull
for thescores
parameter.- Specified by:
getValues
in classDoubleValuesSource
- Throws:
IOException
-
needsScores
public boolean needsScores()Description copied from class:DoubleValuesSource
Return true if document scores are needed to calculate values- Specified by:
needsScores
in classDoubleValuesSource
-
rewrite
Description copied from class:DoubleValuesSource
Return a DoubleValuesSource specialised for the given IndexSearcherImplementations should assume that this will only be called once. IndexReader-independent implementations can just return
this
Queries that use DoubleValuesSource objects should call rewrite() during
Query.createWeight(IndexSearcher, ScoreMode, float)
rather than duringQuery.rewrite(IndexSearcher)
to avoid IndexReader reference leakage.For the same reason, implementations that cache references to the IndexSearcher should return a new object from this method.
- Specified by:
rewrite
in classDoubleValuesSource
- Throws:
IOException
-
hashCode
public int hashCode()- Specified by:
hashCode
in classDoubleValuesSource
-
equals
- Specified by:
equals
in classDoubleValuesSource
-
toString
- Specified by:
toString
in classDoubleValuesSource
-
isCacheable
- Returns:
true
if the object can be cached against a given leaf
-