Skip to content

Commit 3aad599

Browse files
authored
Fix semantic highlighting bug on flat quantized fields (#131525) (#131550)
* Fix semantic highlighting bug on flat quantized fields * Update docs/changelog/131525.yaml (cherry picked from commit 90699d3) # Conflicts: # x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/InferenceFeatures.java
1 parent f56ecb8 commit 3aad599

File tree

5 files changed

+486
-102
lines changed

5 files changed

+486
-102
lines changed

docs/changelog/131525.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
pr: 131525
2+
summary: Fix semantic highlighting bug on flat quantized fields
3+
area: Highlighting
4+
type: bug
5+
issues:
6+
- 131443

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/InferenceFeatures.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ public Set<NodeFeature> getFeatures() {
5050
);
5151
private static final NodeFeature SEMANTIC_TEXT_MATCH_ALL_HIGHLIGHTER = new NodeFeature("semantic_text.match_all_highlighter");
5252
private static final NodeFeature COHERE_V2_API = new NodeFeature("inference.cohere.v2");
53+
public static final NodeFeature SEMANTIC_TEXT_HIGHLIGHTING_FLAT = new NodeFeature("semantic_text.highlighter.flat_index_options");
5354

5455
@Override
5556
public Set<NodeFeature> getTestFeatures() {
@@ -78,7 +79,8 @@ public Set<NodeFeature> getTestFeatures() {
7879
SEMANTIC_TEXT_EXCLUDE_SUB_FIELDS_FROM_FIELD_CAPS,
7980
SEMANTIC_TEXT_INDEX_OPTIONS,
8081
COHERE_V2_API,
81-
SEMANTIC_QUERY_REWRITE_INTERCEPTORS_PROPAGATE_BOOST_AND_QUERY_NAME_FIX
82+
SEMANTIC_QUERY_REWRITE_INTERCEPTORS_PROPAGATE_BOOST_AND_QUERY_NAME_FIX,
83+
SEMANTIC_TEXT_HIGHLIGHTING_FLAT
8284
);
8385
}
8486
}

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/highlight/SemanticTextHighlighter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@
3232
import org.elasticsearch.search.fetch.subphase.highlight.HighlightField;
3333
import org.elasticsearch.search.fetch.subphase.highlight.HighlightUtils;
3434
import org.elasticsearch.search.fetch.subphase.highlight.Highlighter;
35+
import org.elasticsearch.search.vectors.DenseVectorQuery;
3536
import org.elasticsearch.search.vectors.SparseVectorQueryWrapper;
3637
import org.elasticsearch.search.vectors.VectorData;
3738
import org.elasticsearch.xcontent.Text;
@@ -273,6 +274,8 @@ public void visitLeaf(Query query) {
273274
queries.add(fieldType.createExactKnnQuery(VectorData.fromBytes(knnQuery.getTargetCopy()), null));
274275
} else if (query instanceof MatchAllDocsQuery) {
275276
queries.add(new MatchAllDocsQuery());
277+
} else if (query instanceof DenseVectorQuery.Floats floatsQuery) {
278+
queries.add(fieldType.createExactKnnQuery(VectorData.fromFloats(floatsQuery.getQuery()), null));
276279
}
277280
}
278281
});

0 commit comments

Comments
 (0)