summaryrefslogtreecommitdiffstats
path: root/config-model/src/main/java/com
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@verizonmedia.com>2020-03-02 13:23:11 +0100
committerJon Bratseth <bratseth@verizonmedia.com>2020-03-02 13:23:11 +0100
commit17c4ec6d95800266cbd8fa7b40b06922535103bb (patch)
tree7fb9e29609c7287402dec4e8520d8e3d37f44e90 /config-model/src/main/java/com
parentcdeb661adda84714f83ce071286ac24be27ae1cb (diff)
Add phrase-segmenting flag
Diffstat (limited to 'config-model/src/main/java/com')
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/derived/DerivedConfiguration.java2
-rw-r--r--config-model/src/main/java/com/yahoo/searchdefinition/derived/IndexInfo.java17
-rw-r--r--config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java3
3 files changed, 18 insertions, 4 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) {
diff --git a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
index 1b4c03a2182..445c93ba66e 100644
--- a/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
+++ b/config-model/src/main/java/com/yahoo/vespa/model/search/IndexedSearchCluster.java
@@ -202,7 +202,8 @@ public class IndexedSearchCluster extends SearchCluster
com.yahoo.searchdefinition.Search search = spec.getSearchDefinition().getSearch();
if ( ! (search instanceof DocumentOnlySearch)) {
DocumentDatabase db = new DocumentDatabase(this, search.getName(),
- new DerivedConfiguration(search, deployState.getDeployLogger(),
+ new DerivedConfiguration(search,
+ deployState.getDeployLogger(),
deployState.getProperties(),
deployState.rankProfileRegistry(),
deployState.getQueryProfiles().getRegistry(),