summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/AttributeOperation.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/AttributeOperation.java')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/AttributeOperation.java10
1 files changed, 10 insertions, 0 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/AttributeOperation.java b/config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/AttributeOperation.java
index 861a9f530d4..b638932a4a8 100644
--- a/config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/AttributeOperation.java
+++ b/config-model/src/main/java/com/yahoo/searchdefinition/fieldoperation/AttributeOperation.java
@@ -5,6 +5,7 @@ import com.yahoo.searchdefinition.document.Attribute;
import com.yahoo.searchdefinition.document.SDField;
import com.yahoo.tensor.TensorType;
+import java.util.Locale;
import java.util.Optional;
/**
@@ -24,6 +25,7 @@ public class AttributeOperation implements FieldOperation, FieldOperationContain
private String alias;
private String aliasedName;
private Optional<TensorType> tensorType = Optional.empty();
+ private Optional<String> distanceMetric = Optional.empty();
public AttributeOperation(String name) {
this.name = name;
@@ -116,6 +118,10 @@ public class AttributeOperation implements FieldOperation, FieldOperationContain
this.tensorType = Optional.of(tensorType);
}
+ public void setDistanceMetric(String value) {
+ this.distanceMetric = Optional.of(value);
+ }
+
public void apply(SDField field) {
Attribute attribute = null;
if (attributeIsSuffixOfStructField(field.getName())) {
@@ -153,6 +159,10 @@ public class AttributeOperation implements FieldOperation, FieldOperationContain
if (tensorType.isPresent()) {
attribute.setTensorType(tensorType.get());
}
+ if (distanceMetric.isPresent()) {
+ String upper = distanceMetric.get().toUpperCase(Locale.ENGLISH);
+ attribute.setDistanceMetric(Attribute.DistanceMetric.valueOf(upper));
+ }
}
private boolean attributeIsSuffixOfStructField(String fieldName) {