aboutsummaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/processing
diff options
context:
space:
mode:
authorGeir Storli <geirst@verizonmedia.com>2021-04-19 13:50:30 +0000
committerGeir Storli <geirst@verizonmedia.com>2021-04-19 13:50:30 +0000
commitb22f9ad0bbfc8883c94d93fcd042ba481a26beb2 (patch)
treebbb0a1dc6edd9f6ee5bb5b517117df9cb9dff186 /config-model/src/main/java/com/yahoo/searchdefinition/processing
parent27b92ce584f3d30ae64406f843e2224d56422f2e (diff)
A tensor field that specifies hnsw index parameters must also specify 'index' in 'indexing'.
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/processing')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java b/config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java
index dcf238c71c2..397e1c3deab 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java
@@ -29,6 +29,7 @@ public class TensorFieldProcessor extends Processor {
if (validate) {
validateIndexingScripsForTensorField(field);
validateAttributeSettingForTensorField(field);
+ validateHnswIndexParametersRequiresIndexing(field);
}
processIndexSettingsForTensorField(field, validate);
}
@@ -84,6 +85,13 @@ public class TensorFieldProcessor extends Processor {
}
}
+ private void validateHnswIndexParametersRequiresIndexing(SDField field) {
+ var index = field.getIndex(field.getName());
+ if (index != null && index.getHnswIndexParams().isPresent() && !field.doesIndexing()) {
+ fail(search, field, "A tensor that specifies hnsw index parameters must also specify 'index' in 'indexing'");
+ }
+ }
+
private void processIndexSettingsForTensorField(SDField field, boolean validate) {
if (!field.doesIndexing()) {
return;