diff options
author | Jon Bratseth <bratseth@oath.com> | 2021-04-19 20:30:44 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-04-19 20:30:44 +0200 |
commit | 2aa475a737bd6cec80d4ecd61023bd01182ce9de (patch) | |
tree | 2cc2cca38c1ac993dc3bbe6da6d8d2d6153a80b7 /config-model/src/main/java/com/yahoo/searchdefinition/processing/TensorFieldProcessor.java | |
parent | c46e80e5c45b0979d44f17d843cc9fae9ac36833 (diff) | |
parent | b22f9ad0bbfc8883c94d93fcd042ba481a26beb2 (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.java | 8 |
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; |