summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com/yahoo/schema/fieldoperation/IndexOperation.java
diff options
context:
space:
mode:
Diffstat (limited to 'config-model/src/main/java/com/yahoo/schema/fieldoperation/IndexOperation.java')
-rw-r--r--config-model/src/main/java/com/yahoo/schema/fieldoperation/IndexOperation.java134
1 files changed, 0 insertions, 134 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/fieldoperation/IndexOperation.java b/config-model/src/main/java/com/yahoo/schema/fieldoperation/IndexOperation.java
deleted file mode 100644
index ab5ffa25f33..00000000000
--- a/config-model/src/main/java/com/yahoo/schema/fieldoperation/IndexOperation.java
+++ /dev/null
@@ -1,134 +0,0 @@
-// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
-package com.yahoo.schema.fieldoperation;
-
-import com.yahoo.schema.Index;
-import com.yahoo.schema.Index.Type;
-import com.yahoo.schema.document.BooleanIndexDefinition;
-import com.yahoo.schema.document.HnswIndexParams;
-import com.yahoo.schema.document.SDField;
-import com.yahoo.schema.document.Stemming;
-
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Optional;
-import java.util.OptionalDouble;
-import java.util.OptionalInt;
-import java.util.OptionalLong;
-
-/**
- * @author Einar M R Rosenvinge
- */
-public class IndexOperation implements FieldOperation {
-
- private String indexName;
- private Optional<Boolean> prefix = Optional.empty();
- private List<String> aliases = new LinkedList<>();
- private Optional<String> stemming = Optional.empty();
- private Optional<Type> type = Optional.empty();
-
- private OptionalInt arity = OptionalInt.empty(); // For predicate data type
- private OptionalLong lowerBound = OptionalLong.empty();
- private OptionalLong upperBound = OptionalLong.empty();
- private OptionalDouble densePostingListThreshold = OptionalDouble.empty();
- private Optional<Boolean> enableBm25 = Optional.empty();
-
- private Optional<HnswIndexParams.Builder> hnswIndexParams = Optional.empty();
-
- public String getIndexName() {
- return indexName;
- }
-
- public void setIndexName(String indexName) {
- this.indexName = indexName;
- }
-
- public boolean getPrefix() {
- return prefix.get();
- }
-
- public void setPrefix(Boolean prefix) {
- this.prefix = Optional.of(prefix);
- }
-
- public void addAlias(String alias) {
- aliases.add(alias);
- }
-
- public String getStemming() {
- return stemming.get();
- }
-
- public void setStemming(String stemming) {
- this.stemming = Optional.of(stemming);
- }
-
- public void apply(SDField field) {
- Index index = field.getIndex(indexName);
-
- if (index == null) {
- index = new Index(indexName);
- field.addIndex(index);
- }
-
- applyToIndex(index);
- }
-
- public void applyToIndex(Index index) {
- if (prefix.isPresent()) {
- index.setPrefix(prefix.get());
- }
- for (String alias : aliases) {
- index.addAlias(alias);
- }
- if (stemming.isPresent()) {
- index.setStemming(Stemming.get(stemming.get()));
- }
- if (type.isPresent()) {
- index.setType(type.get());
- }
- if (arity.isPresent() || lowerBound.isPresent() ||
- upperBound.isPresent() || densePostingListThreshold.isPresent()) {
- index.setBooleanIndexDefiniton(
- new BooleanIndexDefinition(arity, lowerBound, upperBound, densePostingListThreshold));
- }
- if (enableBm25.isPresent()) {
- index.setInterleavedFeatures(enableBm25.get());
- }
- if (hnswIndexParams.isPresent()) {
- index.setHnswIndexParams(hnswIndexParams.get().build());
- }
- }
-
- public Type getType() {
- return type.get();
- }
-
- public void setType(Type type) {
- this.type = Optional.of(type);
- }
-
- public void setArity(int arity) {
- this.arity = OptionalInt.of(arity);
- }
-
- public void setLowerBound(long value) {
- this.lowerBound = OptionalLong.of(value);
- }
-
- public void setUpperBound(long value) {
- this.upperBound = OptionalLong.of(value);
- }
-
- public void setDensePostingListThreshold(double densePostingListThreshold) {
- this.densePostingListThreshold = OptionalDouble.of(densePostingListThreshold);
- }
-
- public void setEnableBm25(boolean value) {
- enableBm25 = Optional.of(value);
- }
-
- public void setHnswIndexParams(HnswIndexParams.Builder params) {
- this.hnswIndexParams = Optional.of(params);
- }
-
-}