diff options
Diffstat (limited to 'config-model/src/main/java/com/yahoo/searchdefinition/derived')
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java | 2 | ||||
-rw-r--r-- | config-model/src/main/java/com/yahoo/searchdefinition/derived/IndexInfo.java | 17 |
2 files changed, 16 insertions, 3 deletions
diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java index fc8710fa1a1..b16f8c0e5bb 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java @@ -87,7 +87,7 @@ public class DerivedConfiguration { juniperrc = new Juniperrc(search); rankProfileList = new RankProfileList(search, search.rankingConstants(), attributeFields, rankProfileRegistry, queryProfiles, importedModels, deployProperties); indexingScript = new IndexingScript(search); - indexInfo = new IndexInfo(search); + indexInfo = new IndexInfo(search, deployProperties); indexSchema = new IndexSchema(search); importedFields = new ImportedFields(search); } diff --git a/config-model/src/main/java/com/yahoo/searchdefinition/derived/IndexInfo.java b/config-model/src/main/java/com/yahoo/searchdefinition/derived/IndexInfo.java index 032f7f58e2a..f30a150aeee 100644 --- a/config-model/src/main/java/com/yahoo/searchdefinition/derived/IndexInfo.java +++ b/config-model/src/main/java/com/yahoo/searchdefinition/derived/IndexInfo.java @@ -1,6 +1,7 @@ // Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.searchdefinition.derived; +import com.yahoo.config.model.api.ModelContext; import com.yahoo.document.*; import com.yahoo.searchdefinition.Index; import com.yahoo.searchdefinition.Search; @@ -36,13 +37,16 @@ public class IndexInfo extends Derived implements IndexInfoConfig.Producer { private static final String CMD_FAST_SEARCH = "fast-search"; private static final String CMD_PREDICATE_BOUNDS = "predicate-bounds"; private static final String CMD_NUMERICAL = "numerical"; + private static final String CMD_PHRASE_SEGMENTING = "phrase-segmenting"; private Set<IndexCommand> commands = new java.util.LinkedHashSet<>(); private Map<String, String> aliases = new java.util.LinkedHashMap<>(); private Map<String, FieldSet> fieldSets; private Search search; + private final boolean phraseSegmenting; - public IndexInfo(Search search) { + public IndexInfo(Search search, ModelContext.Properties deployProperties) { this.fieldSets = search.fieldSets().userFieldSets(); + this.phraseSegmenting = deployProperties.usePhraseSegmenting(); addIndexCommand("sddocname", CMD_INDEX); addIndexCommand("sddocname", CMD_WORD); derive(search); @@ -153,6 +157,10 @@ public class IndexInfo extends Derived implements IndexInfoConfig.Producer { addIndexCommand(field, CMD_NUMERICAL); } + if (phraseSegmenting) { + addIndexCommand(field, CMD_PHRASE_SEGMENTING); + } + // Explicit commands for (String command : field.getQueryCommands()) { addIndexCommand(field, command); @@ -394,7 +402,12 @@ public class IndexInfo extends Derived implements IndexInfoConfig.Producer { } } - + + if (phraseSegmenting) { + iiB.command(new IndexInfoConfig.Indexinfo.Command.Builder() + .indexname(fieldSet.getName()) + .command(CMD_PHRASE_SEGMENTING)); + } } private boolean hasMultiValueField(FieldSet fieldSet) { |