summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@oath.com>2021-04-19 20:30:44 +0200
committerGitHub <noreply@github.com>2021-04-19 20:30:44 +0200
commit2aa475a737bd6cec80d4ecd61023bd01182ce9de (patch)
tree2cc2cca38c1ac993dc3bbe6da6d8d2d6153a80b7 /config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java
parentc46e80e5c45b0979d44f17d843cc9fae9ac36833 (diff)
parentb22f9ad0bbfc8883c94d93fcd042ba481a26beb2 (diff)
Merge pull request #17490 from vespa-engine/geirst/hnsw-index-parameters-validation
A tensor field that specifies hnsw index parameters must also specify…
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java')
-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;