aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@gmail.com>2023-02-15 13:30:34 +0100
committerGitHub <noreply@github.com>2023-02-15 13:30:34 +0100
commitb9b7e3cf8529e6f7e9904c1013174e37c0460696 (patch)
tree4dcb9077e0644e96c8454d88e435f21738b6d082
parentedf0cf365ed81d22d32b3546aad35f0cf8c81a8e (diff)
parent76a847e31d8d4a2a79c967864e7d7466e67610f2 (diff)
Merge pull request #26048 from vespa-engine/toregge/add-string-command-to-index-info-config
Add string command to index info config.
-rw-r--r--config-model/src/main/java/com/yahoo/schema/derived/IndexInfo.java15
-rw-r--r--config-model/src/test/derived/advanced/index-info.cfg34
-rw-r--r--config-model/src/test/derived/array_of_struct_attribute/index-info.cfg2
-rw-r--r--config-model/src/test/derived/arrays/index-info.cfg10
-rw-r--r--config-model/src/test/derived/attributeprefetch/index-info.cfg6
-rw-r--r--config-model/src/test/derived/attributes/index-info.cfg28
-rw-r--r--config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg10
-rw-r--r--config-model/src/test/derived/emptydefault/index-info.cfg4
-rw-r--r--config-model/src/test/derived/exactmatch/index-info.cfg18
-rw-r--r--config-model/src/test/derived/fieldset/index-info.cfg6
-rw-r--r--config-model/src/test/derived/id/index-info.cfg14
-rw-r--r--config-model/src/test/derived/imported_struct_fields/index-info.cfg10
-rw-r--r--config-model/src/test/derived/importedfields/index-info.cfg4
-rw-r--r--config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg18
-rw-r--r--config-model/src/test/derived/indexinfo_lowercase/index-info.cfg70
-rw-r--r--config-model/src/test/derived/indexschema/index-info.cfg76
-rw-r--r--config-model/src/test/derived/indexswitches/index-info.cfg10
-rw-r--r--config-model/src/test/derived/inheritance/index-info.cfg6
-rw-r--r--config-model/src/test/derived/inheritstruct/index-info.cfg14
-rw-r--r--config-model/src/test/derived/lowercase/index-info.cfg8
-rw-r--r--config-model/src/test/derived/map_attribute/index-info.cfg4
-rw-r--r--config-model/src/test/derived/map_of_struct_attribute/index-info.cfg6
-rw-r--r--config-model/src/test/derived/matchsettings_map_after/index-info.cfg4
-rw-r--r--config-model/src/test/derived/matchsettings_map_def/index-info.cfg12
-rw-r--r--config-model/src/test/derived/matchsettings_map_in_struct/index-info.cfg24
-rw-r--r--config-model/src/test/derived/matchsettings_map_wfs/index-info.cfg12
-rw-r--r--config-model/src/test/derived/matchsettings_map_wss/index-info.cfg12
-rw-r--r--config-model/src/test/derived/matchsettings_simple_def/index-info.cfg4
-rw-r--r--config-model/src/test/derived/matchsettings_simple_wfs/index-info.cfg4
-rw-r--r--config-model/src/test/derived/matchsettings_simple_wss/index-info.cfg4
-rw-r--r--config-model/src/test/derived/matchsettings_simple_wss_wfs/index-info.cfg4
-rw-r--r--config-model/src/test/derived/multiplesummaries/index-info.cfg34
-rw-r--r--config-model/src/test/derived/music/index-info.cfg50
-rw-r--r--config-model/src/test/derived/newrank/index-info.cfg38
-rw-r--r--config-model/src/test/derived/position_extra/index-info.cfg2
-rw-r--r--config-model/src/test/derived/prefixexactattribute/index-info.cfg10
-rw-r--r--config-model/src/test/derived/ranktypes/index-info.cfg10
-rw-r--r--config-model/src/test/derived/schemainheritance/index-info.cfg16
-rw-r--r--config-model/src/test/derived/structandfieldset/index-info.cfg8
-rw-r--r--config-model/src/test/derived/structanyorder/index-info.cfg80
-rw-r--r--config-model/src/test/derived/types/index-info.cfg80
-rw-r--r--container-search/abi-spec.json2
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/Index.java10
-rw-r--r--container-search/src/main/java/com/yahoo/search/searchers/ValidateFuzzySearcher.java33
-rw-r--r--container-search/src/test/java/com/yahoo/search/searchers/ValidateFuzzySearcherTestCase.java33
45 files changed, 823 insertions, 36 deletions
diff --git a/config-model/src/main/java/com/yahoo/schema/derived/IndexInfo.java b/config-model/src/main/java/com/yahoo/schema/derived/IndexInfo.java
index 54c503a0bbd..b2648aec88e 100644
--- a/config-model/src/main/java/com/yahoo/schema/derived/IndexInfo.java
+++ b/config-model/src/main/java/com/yahoo/schema/derived/IndexInfo.java
@@ -52,6 +52,7 @@ public class IndexInfo extends Derived implements IndexInfoConfig.Producer {
private static final String CMD_PREDICATE = "predicate";
private static final String CMD_PREDICATE_BOUNDS = "predicate-bounds";
private static final String CMD_NUMERICAL = "numerical";
+ private static final String CMD_STRING = "string";
private static final String CMD_PHRASE_SEGMENTING = "phrase-segmenting";
private final Set<IndexCommand> commands = new java.util.LinkedHashSet<>();
private final Map<String, String> aliases = new java.util.LinkedHashMap<>();
@@ -166,6 +167,9 @@ public class IndexInfo extends Derived implements IndexInfoConfig.Producer {
if (field.getDataType().getPrimitiveType() instanceof NumericDataType) {
addIndexCommand(field, CMD_NUMERICAL);
}
+ if (isTypeOrNested(field, DataType.STRING)) {
+ addIndexCommand(field, CMD_STRING);
+ }
// Explicit commands
for (String command : field.getQueryCommands()) {
@@ -274,6 +278,10 @@ public class IndexInfo extends Derived implements IndexInfoConfig.Producer {
commands.add(new IndexCommand(indexName, command));
}
+ private static void addIndexCommand(IndexInfoConfig.Indexinfo.Builder iiB, String indexName, String command) {
+ iiB.command(new IndexInfoConfig.Indexinfo.Command.Builder().indexname(indexName).command(command));
+ }
+
private void addIndexAlias(String alias, String indexName) {
aliases.put(alias, indexName);
}
@@ -329,6 +337,7 @@ public class IndexInfo extends Derived implements IndexInfoConfig.Producer {
boolean anyLowerCasing = false;
boolean anyStemming = false;
boolean anyNormalizing = false;
+ boolean anyString = false;
String phraseSegmentingCommand = null;
String stemmingCommand = null;
Matching fieldSetMatching = fieldSet.getMatching(); // null if no explicit matching
@@ -350,6 +359,9 @@ public class IndexInfo extends Derived implements IndexInfoConfig.Producer {
if (field.getNormalizing().doRemoveAccents()) {
anyNormalizing = true;
}
+ if (isTypeOrNested(field, DataType.STRING)) {
+ anyString = true;
+ }
if (fieldSetMatching == null && field.getMatching().getType() != Matching.defaultType) {
fieldSetMatching = field.getMatching();
}
@@ -417,6 +429,9 @@ public class IndexInfo extends Derived implements IndexInfoConfig.Producer {
.indexname(fieldSet.getName())
.command(CMD_INDEX));
}
+ if (anyString) {
+ addIndexCommand(iiB, fieldSet.getName(), CMD_STRING);
+ }
if (fieldSetMatching != null) {
// Explicit matching set on fieldset
if (fieldSetMatching.getType().equals(MatchType.EXACT)) {
diff --git a/config-model/src/test/derived/advanced/index-info.cfg b/config-model/src/test/derived/advanced/index-info.cfg
index cf33b038700..e87e90bf169 100644
--- a/config-model/src/test/derived/advanced/index-info.cfg
+++ b/config-model/src/test/derived/advanced/index-info.cfg
@@ -6,30 +6,44 @@ indexinfo[].command[].command "word"
indexinfo[].command[].indexname "debug_src"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "debug_src"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "debug_src"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "attributes_src"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "attributes_src"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "attributes_src"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "location_str"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "location_str"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "location_str"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "title_src"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "title_src"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "title_src"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "product_src"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "product_src"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "product_src"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "product2_src"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "product2_src"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "product2_src"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "product3_src"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "product3_src"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "product3_src"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "attributes"
indexinfo[].command[].command "index"
@@ -40,6 +54,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "attributes"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "attributes"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "attributes"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "debug"
indexinfo[].command[].command "index"
@@ -50,6 +66,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "debug"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "debug"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "debug"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "location.x"
indexinfo[].command[].command "index"
@@ -82,6 +100,8 @@ indexinfo[].command[].command "type long"
indexinfo[].command[].indexname "mysummary"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mysummary"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mysummary"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "product"
indexinfo[].command[].command "index"
@@ -92,6 +112,8 @@ indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "product"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "product"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "product"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "product2"
indexinfo[].command[].command "index"
@@ -102,6 +124,8 @@ indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "product2"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "product2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "product2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "product3"
indexinfo[].command[].command "index"
@@ -112,6 +136,8 @@ indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "product3"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "product3"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "product3"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "title"
indexinfo[].command[].command "index"
@@ -122,10 +148,14 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "title"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "title"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "title_s"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "title_s"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "title_s"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "titleabstract"
indexinfo[].command[].command "lowercase"
@@ -135,6 +165,8 @@ indexinfo[].command[].indexname "titleabstract"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "titleabstract"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "titleabstract"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "default"
@@ -143,5 +175,7 @@ indexinfo[].command[].indexname "default"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "string"
indexinfo[].alias[].alias "headline"
indexinfo[].alias[].indexname "title"
diff --git a/config-model/src/test/derived/array_of_struct_attribute/index-info.cfg b/config-model/src/test/derived/array_of_struct_attribute/index-info.cfg
index 28026b8a683..56036d0ed71 100644
--- a/config-model/src/test/derived/array_of_struct_attribute/index-info.cfg
+++ b/config-model/src/test/derived/array_of_struct_attribute/index-info.cfg
@@ -12,6 +12,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "elem_array.name"
indexinfo[].command[].command "fast-search"
indexinfo[].command[].indexname "elem_array.name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "elem_array.name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "elem_array.name"
indexinfo[].command[].command "word"
diff --git a/config-model/src/test/derived/arrays/index-info.cfg b/config-model/src/test/derived/arrays/index-info.cfg
index 64bcfcc59c0..6262608cfec 100644
--- a/config-model/src/test/derived/arrays/index-info.cfg
+++ b/config-model/src/test/derived/arrays/index-info.cfg
@@ -16,6 +16,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "tags"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "tags"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "tags"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "ratings"
indexinfo[].command[].command "index"
@@ -38,6 +40,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "a"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "a"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "a"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "b"
indexinfo[].command[].command "index"
@@ -52,6 +56,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "b"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "b"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "b"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "c"
indexinfo[].command[].command "index"
@@ -66,6 +72,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "c"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "c"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "c"
indexinfo[].command[].command "type WeightedSet<string>"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "lowercase"
@@ -79,3 +87,5 @@ indexinfo[].command[].indexname "default"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "string"
diff --git a/config-model/src/test/derived/attributeprefetch/index-info.cfg b/config-model/src/test/derived/attributeprefetch/index-info.cfg
index 28e669d3571..5bb37ce1aaa 100644
--- a/config-model/src/test/derived/attributeprefetch/index-info.cfg
+++ b/config-model/src/test/derived/attributeprefetch/index-info.cfg
@@ -130,6 +130,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "singlestring"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "singlestring"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "singlestring"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "multistring"
indexinfo[].command[].command "index"
@@ -140,6 +142,8 @@ indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "multistring"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "multistring"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "multistring"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "wsstring"
indexinfo[].command[].command "index"
@@ -150,4 +154,6 @@ indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "wsstring"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "wsstring"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "wsstring"
indexinfo[].command[].command "type WeightedSet<string>"
diff --git a/config-model/src/test/derived/attributes/index-info.cfg b/config-model/src/test/derived/attributes/index-info.cfg
index 560da741ad9..a39d687c968 100644
--- a/config-model/src/test/derived/attributes/index-info.cfg
+++ b/config-model/src/test/derived/attributes/index-info.cfg
@@ -10,6 +10,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "a1"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "a1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "a1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "a2"
indexinfo[].command[].command "index"
@@ -18,6 +20,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "a2"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "a2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "a2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "a3"
indexinfo[].command[].command "index"
@@ -26,10 +30,14 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "a3"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "a3"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "a3"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "a4"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "a4"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "a4"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "a5"
indexinfo[].command[].command "index"
@@ -42,6 +50,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "a5"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "a5"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "a5"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "a6"
indexinfo[].command[].command "index"
@@ -54,14 +64,20 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "a6"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "a6"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "a6"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "a7"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "a7"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "a7"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "a8"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "a8"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "a8"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "b1"
indexinfo[].command[].command "index"
@@ -70,6 +86,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "b1"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "b1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "b1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "b1"
indexinfo[].command[].command "word"
@@ -84,6 +102,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "b2"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "b2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "b2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "b3"
indexinfo[].command[].command "index"
@@ -96,6 +116,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "b3"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "b3"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "b3"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "b4"
indexinfo[].command[].command "index"
@@ -186,6 +208,8 @@ indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "a7_arr"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "a7_arr"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "a7_arr"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "a7_arr"
indexinfo[].command[].command "word"
@@ -198,6 +222,8 @@ indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "a8_arr"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "a8_arr"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "a8_arr"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "a8_arr"
indexinfo[].command[].command "word"
@@ -211,5 +237,7 @@ indexinfo[].command[].indexname "default"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "string"
indexinfo[].alias[].alias "date"
indexinfo[].alias[].indexname "b3"
diff --git a/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg b/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg
index a43c8a0b992..3109baba4c1 100644
--- a/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg
+++ b/config-model/src/test/derived/combinedattributeandindexsearch/index-info.cfg
@@ -14,6 +14,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "index1"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "index1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "index1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "index2"
indexinfo[].command[].command "index"
@@ -26,6 +28,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "index2"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "index2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "index2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "attribute1"
indexinfo[].command[].command "index"
@@ -34,6 +38,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "attribute1"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "attribute1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "attribute1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "attribute2"
indexinfo[].command[].command "index"
@@ -42,6 +48,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "attribute2"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "attribute2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "attribute2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "lowercase"
@@ -53,3 +61,5 @@ indexinfo[].command[].indexname "default"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "string"
diff --git a/config-model/src/test/derived/emptydefault/index-info.cfg b/config-model/src/test/derived/emptydefault/index-info.cfg
index aa30192e826..8c22526612f 100644
--- a/config-model/src/test/derived/emptydefault/index-info.cfg
+++ b/config-model/src/test/derived/emptydefault/index-info.cfg
@@ -14,6 +14,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "one"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "one"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "one"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "two"
indexinfo[].command[].command "index"
@@ -26,4 +28,6 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "two"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "two"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "two"
indexinfo[].command[].command "type string"
diff --git a/config-model/src/test/derived/exactmatch/index-info.cfg b/config-model/src/test/derived/exactmatch/index-info.cfg
index bbc2f2c761d..7e16d186cf9 100644
--- a/config-model/src/test/derived/exactmatch/index-info.cfg
+++ b/config-model/src/test/derived/exactmatch/index-info.cfg
@@ -8,6 +8,8 @@ indexinfo[].command[].command "index"
indexinfo[].command[].indexname "tag"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "tag"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "tag"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "tag"
indexinfo[].command[].command "exact @@"
@@ -16,6 +18,8 @@ indexinfo[].command[].command "index"
indexinfo[].command[].indexname "screweduserids"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "screweduserids"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "screweduserids"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "screweduserids"
indexinfo[].command[].command "exact *!A!!*"
@@ -26,12 +30,16 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "string_map.key"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "string_map.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "string_map.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "string_map.key"
indexinfo[].command[].command "exact *!B!!*"
indexinfo[].command[].indexname "string_map.value"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "string_map.value"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "string_map.value"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "string_map"
indexinfo[].command[].command "index"
@@ -42,6 +50,8 @@ indexinfo[].command[].command "type Map<string,string>"
indexinfo[].command[].indexname "elem_map.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "elem_map.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "elem_map.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "elem_map.value.name"
indexinfo[].command[].command "index"
@@ -50,6 +60,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "elem_map.value.name"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "elem_map.value.name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "elem_map.value.name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "elem_map.value.name"
indexinfo[].command[].command "exact @@"
@@ -76,6 +88,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "elem_array.name"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "elem_array.name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "elem_array.name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "elem_array.name"
indexinfo[].command[].command "exact @@"
@@ -94,6 +108,8 @@ indexinfo[].command[].command "type Array<elem>"
indexinfo[].command[].indexname "another_map.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "another_map.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "another_map.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "another_map.value.name"
indexinfo[].command[].command "index"
@@ -102,6 +118,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "another_map.value.name"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "another_map.value.name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "another_map.value.name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "another_map.value.name"
indexinfo[].command[].command "exact *!C!!*"
diff --git a/config-model/src/test/derived/fieldset/index-info.cfg b/config-model/src/test/derived/fieldset/index-info.cfg
index b75bc006961..0d02baef19c 100644
--- a/config-model/src/test/derived/fieldset/index-info.cfg
+++ b/config-model/src/test/derived/fieldset/index-info.cfg
@@ -10,6 +10,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "word1"
indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "word1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "word1"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "word1"
indexinfo[].command[].command "word"
@@ -20,6 +22,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "word2"
indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "word2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "word2"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "word2"
indexinfo[].command[].command "word"
@@ -30,4 +34,6 @@ indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "words"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "words"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "words"
indexinfo[].command[].command "word"
diff --git a/config-model/src/test/derived/id/index-info.cfg b/config-model/src/test/derived/id/index-info.cfg
index 00d0c92d68e..4de6f839632 100644
--- a/config-model/src/test/derived/id/index-info.cfg
+++ b/config-model/src/test/derived/id/index-info.cfg
@@ -32,28 +32,42 @@ indexinfo[].command[].command "type uri"
indexinfo[].command[].indexname "uri.fragment"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "uri.fragment"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "uri.fragment"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "uri.host"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "uri.host"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "uri.host"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "uri.hostname"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "uri.hostname"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "uri.hostname"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "uri.path"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "uri.path"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "uri.path"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "uri.port"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "uri.port"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "uri.port"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "uri.query"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "uri.query"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "uri.query"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "uri.scheme"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "uri.scheme"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "uri.scheme"
indexinfo[].command[].command "type string"
diff --git a/config-model/src/test/derived/imported_struct_fields/index-info.cfg b/config-model/src/test/derived/imported_struct_fields/index-info.cfg
index 71ab3502f59..72baf67b00f 100644
--- a/config-model/src/test/derived/imported_struct_fields/index-info.cfg
+++ b/config-model/src/test/derived/imported_struct_fields/index-info.cfg
@@ -14,6 +14,8 @@ indexinfo[].command[].command "word"
indexinfo[].command[].indexname "documentid"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "documentid"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "documentid"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "my_elem_array.name"
indexinfo[].command[].command "index"
@@ -24,6 +26,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "my_elem_array.name"
indexinfo[].command[].command "fast-search"
indexinfo[].command[].indexname "my_elem_array.name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "my_elem_array.name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "my_elem_array.name"
indexinfo[].command[].command "word"
@@ -50,6 +54,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "my_elem_map.value.name"
indexinfo[].command[].command "fast-search"
indexinfo[].command[].indexname "my_elem_map.value.name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "my_elem_map.value.name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "my_elem_map.value.name"
indexinfo[].command[].command "word"
@@ -74,6 +80,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "my_elem_map.key"
indexinfo[].command[].command "fast-search"
indexinfo[].command[].indexname "my_elem_map.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "my_elem_map.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "my_elem_map.key"
indexinfo[].command[].command "word"
@@ -92,6 +100,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "my_str_int_map.key"
indexinfo[].command[].command "fast-search"
indexinfo[].command[].indexname "my_str_int_map.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "my_str_int_map.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "my_str_int_map.key"
indexinfo[].command[].command "word"
diff --git a/config-model/src/test/derived/importedfields/index-info.cfg b/config-model/src/test/derived/importedfields/index-info.cfg
index af67f710ced..0e22e41f11a 100644
--- a/config-model/src/test/derived/importedfields/index-info.cfg
+++ b/config-model/src/test/derived/importedfields/index-info.cfg
@@ -42,6 +42,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "my_string_field"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "my_string_field"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "my_string_field"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "my_string_field"
indexinfo[].command[].command "word"
@@ -80,4 +82,6 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "myfieldset"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "myfieldset"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "myfieldset"
indexinfo[].command[].command "word"
diff --git a/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg b/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg
index d08b080df7b..9e7d4c2769e 100644
--- a/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg
+++ b/config-model/src/test/derived/indexinfo_fieldsets/index-info.cfg
@@ -12,6 +12,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "nostemming1"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "nostemming1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nostemming1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "nostemming2"
indexinfo[].command[].command "index"
@@ -22,6 +24,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "nostemming2"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "nostemming2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nostemming2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "nonormalizing1"
indexinfo[].command[].command "index"
@@ -32,6 +36,8 @@ indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nonormalizing1"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "nonormalizing1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nonormalizing1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "nonormalizing2"
indexinfo[].command[].command "index"
@@ -42,12 +48,16 @@ indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nonormalizing2"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "nonormalizing2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nonormalizing2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "exact1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "exact1"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "exact1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "exact1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "exact1"
indexinfo[].command[].command "exact @@"
@@ -56,6 +66,8 @@ indexinfo[].command[].command "index"
indexinfo[].command[].indexname "exact2"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "exact2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "exact2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "exact2"
indexinfo[].command[].command "exact @@"
@@ -67,6 +79,8 @@ indexinfo[].command[].indexname "nostemming"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "nostemming"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nostemming"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nonormalizing"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nonormalizing"
@@ -75,9 +89,13 @@ indexinfo[].command[].indexname "nonormalizing"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "nonormalizing"
indexinfo[].command[].command "stem:BEST"
+indexinfo[].command[].indexname "nonormalizing"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "exact"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "exact"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "exact"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "exact"
indexinfo[].command[].command "exact @@"
diff --git a/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg b/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg
index dc62fc1c101..bc4320a70b6 100644
--- a/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg
+++ b/config-model/src/test/derived/indexinfo_lowercase/index-info.cfg
@@ -6,14 +6,20 @@ indexinfo[].command[].command "word"
indexinfo[].command[].indexname "lc_attribute_src"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "lc_attribute_src"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "lc_attribute_src"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "lc_index_src"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "lc_index_src"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "lc_index_src"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "lc_summary_src"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "lc_summary_src"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "lc_summary_src"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "nc_attribute"
indexinfo[].command[].command "index"
@@ -22,6 +28,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_attribute"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "nc_attribute"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nc_attribute"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "nc_attribute"
indexinfo[].command[].command "word"
@@ -36,10 +44,14 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "nc_index"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "nc_index"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nc_index"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "nc_summary"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "nc_summary"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nc_summary"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "lc_attribute"
indexinfo[].command[].command "index"
@@ -48,6 +60,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "lc_attribute"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "lc_attribute"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "lc_attribute"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "lc_attribute"
indexinfo[].command[].command "word"
@@ -62,12 +76,16 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "lc_index"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "lc_index"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "lc_index"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "lc_summary"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "lc_summary"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "lc_summary"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "lc_summary"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "lc_set1"
indexinfo[].command[].command "lowercase"
@@ -76,6 +94,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "lc_set1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "lc_set1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "lc_set1"
indexinfo[].command[].command "word"
indexinfo[].command[].indexname "lc_set2"
indexinfo[].command[].command "lowercase"
@@ -87,12 +107,16 @@ indexinfo[].command[].indexname "lc_set2"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "lc_set2"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "lc_set2"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "lc_set3"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "lc_set3"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "lc_set3"
indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "lc_set3"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "lc_set4"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "lc_set4"
@@ -103,6 +127,8 @@ indexinfo[].command[].indexname "lc_set4"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "lc_set4"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "lc_set4"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "lc_set5"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "lc_set5"
@@ -110,6 +136,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "lc_set5"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "lc_set5"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "lc_set5"
indexinfo[].command[].command "word"
indexinfo[].command[].indexname "lc_set6"
indexinfo[].command[].command "lowercase"
@@ -121,6 +149,8 @@ indexinfo[].command[].indexname "lc_set6"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "lc_set6"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "lc_set6"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "lc_set7"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "lc_set7"
@@ -131,6 +161,8 @@ indexinfo[].command[].indexname "lc_set7"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "lc_set7"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "lc_set7"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set1"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_set1"
@@ -138,6 +170,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "nc_set1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "nc_set1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nc_set1"
indexinfo[].command[].command "word"
indexinfo[].command[].indexname "nc_set2"
indexinfo[].command[].command "lowercase"
@@ -149,10 +183,14 @@ indexinfo[].command[].indexname "nc_set2"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nc_set2"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set2"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set3"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "nc_set3"
indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "nc_set3"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set4"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_set4"
@@ -163,6 +201,8 @@ indexinfo[].command[].indexname "nc_set4"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nc_set4"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set4"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set5"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_set5"
@@ -170,6 +210,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "nc_set5"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "nc_set5"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nc_set5"
indexinfo[].command[].command "word"
indexinfo[].command[].indexname "nc_set6"
indexinfo[].command[].command "lowercase"
@@ -181,6 +223,8 @@ indexinfo[].command[].indexname "nc_set6"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nc_set6"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set6"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set7"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_set7"
@@ -191,6 +235,8 @@ indexinfo[].command[].indexname "nc_set7"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nc_set7"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set7"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set8"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_set8"
@@ -201,6 +247,8 @@ indexinfo[].command[].indexname "nc_set8"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nc_set8"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set8"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set9"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_set9"
@@ -211,6 +259,8 @@ indexinfo[].command[].indexname "nc_set9"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nc_set9"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set9"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set10"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_set10"
@@ -218,6 +268,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "nc_set10"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "nc_set10"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nc_set10"
indexinfo[].command[].command "word"
indexinfo[].command[].indexname "nc_set11"
indexinfo[].command[].command "lowercase"
@@ -226,6 +278,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "nc_set11"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "nc_set11"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nc_set11"
indexinfo[].command[].command "word"
indexinfo[].command[].indexname "nc_set12"
indexinfo[].command[].command "lowercase"
@@ -237,6 +291,8 @@ indexinfo[].command[].indexname "nc_set12"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nc_set12"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set12"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set13"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_set13"
@@ -247,6 +303,8 @@ indexinfo[].command[].indexname "nc_set13"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nc_set13"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set13"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set14"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_set14"
@@ -257,6 +315,8 @@ indexinfo[].command[].indexname "nc_set14"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nc_set14"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set14"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set15"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_set15"
@@ -267,6 +327,8 @@ indexinfo[].command[].indexname "nc_set15"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nc_set15"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set15"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set16"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_set16"
@@ -277,6 +339,8 @@ indexinfo[].command[].indexname "nc_set16"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nc_set16"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set16"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set17"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_set17"
@@ -287,6 +351,8 @@ indexinfo[].command[].indexname "nc_set17"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nc_set17"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set17"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set18"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_set18"
@@ -297,6 +363,8 @@ indexinfo[].command[].indexname "nc_set18"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nc_set18"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set18"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nc_set19"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nc_set19"
@@ -307,3 +375,5 @@ indexinfo[].command[].indexname "nc_set19"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "nc_set19"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nc_set19"
+indexinfo[].command[].command "string"
diff --git a/config-model/src/test/derived/indexschema/index-info.cfg b/config-model/src/test/derived/indexschema/index-info.cfg
index 4e81a0ae4a8..278fbcb3956 100644
--- a/config-model/src/test/derived/indexschema/index-info.cfg
+++ b/config-model/src/test/derived/indexschema/index-info.cfg
@@ -14,6 +14,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "sa"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "sa"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "sa"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "sb"
indexinfo[].command[].command "index"
@@ -26,6 +28,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "sb"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "sb"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "sb"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "sc"
indexinfo[].command[].command "index"
@@ -38,6 +42,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "sc"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "sc"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "sc"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "sd"
indexinfo[].command[].command "index"
@@ -50,6 +56,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "sd"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "sd"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "sd"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "sd"
indexinfo[].command[].command "phrase-segmenting false"
@@ -80,6 +88,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "se"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "se"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "se"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "se"
indexinfo[].command[].command "word"
@@ -96,6 +106,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "sf"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "sf"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "sf"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "sg"
indexinfo[].command[].command "index"
@@ -110,6 +122,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "sg"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "sg"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "sg"
indexinfo[].command[].command "type WeightedSet<string>"
indexinfo[].command[].indexname "sh"
indexinfo[].command[].command "index"
@@ -148,12 +162,16 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "si"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "si"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "si"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "exact1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "exact1"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "exact1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "exact1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "exact1"
indexinfo[].command[].command "exact @@"
@@ -162,6 +180,8 @@ indexinfo[].command[].command "index"
indexinfo[].command[].indexname "exact2"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "exact2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "exact2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "exact2"
indexinfo[].command[].command "exact @@"
@@ -176,6 +196,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "bm25_field"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "bm25_field"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "bm25_field"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "ia"
indexinfo[].command[].command "index"
@@ -210,6 +232,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "nostemstring1"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "nostemstring1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nostemstring1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "nostemstring2"
indexinfo[].command[].command "index"
@@ -220,6 +244,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "nostemstring2"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "nostemstring2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nostemstring2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "nostemstring3"
indexinfo[].command[].command "index"
@@ -230,6 +256,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "nostemstring3"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "nostemstring3"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nostemstring3"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "nostemstring4"
indexinfo[].command[].command "index"
@@ -240,6 +268,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "nostemstring4"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "nostemstring4"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "nostemstring4"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "fs9"
indexinfo[].command[].command "index"
@@ -252,6 +282,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "fs9"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "fs9"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "fs9"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "f10.text"
indexinfo[].command[].command "index"
@@ -264,10 +296,14 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "f10.text"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "f10.text"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "f10.text"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "f10.name"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "f10.name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "f10.name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "f10"
indexinfo[].command[].command "index"
@@ -292,10 +328,14 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "sd_literal"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "sd_literal"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "sd_literal"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "searchfield1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "searchfield1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "searchfield1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "searchfield2"
indexinfo[].command[].command "index"
@@ -306,30 +346,44 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "sh.fragment"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sh.fragment"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "sh.fragment"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "sh.host"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sh.host"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "sh.host"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "sh.hostname"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sh.hostname"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "sh.hostname"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "sh.path"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sh.path"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "sh.path"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "sh.port"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sh.port"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "sh.port"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "sh.query"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sh.query"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "sh.query"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "sh.scheme"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "sh.scheme"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "sh.scheme"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "sa"
indexinfo[].command[].command "dynteaser"
@@ -345,6 +399,8 @@ indexinfo[].command[].indexname "fs1"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "fs1"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "fs1"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "fs2"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "fs2"
@@ -355,6 +411,8 @@ indexinfo[].command[].indexname "fs2"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "fs2"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "fs2"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "fs3"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "fs3"
@@ -369,6 +427,8 @@ indexinfo[].command[].indexname "fs4"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "fs4"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "fs4"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "onlyattrib"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "onlyattrib"
@@ -376,12 +436,16 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "onlyattrib"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "onlyattrib"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "onlyattrib"
indexinfo[].command[].command "word"
indexinfo[].command[].indexname "exactfields"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "exactfields"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "exactfields"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "exactfields"
indexinfo[].command[].command "exact @@"
indexinfo[].command[].indexname "exactexplicit"
indexinfo[].command[].command "exact ARNOLD"
@@ -397,11 +461,15 @@ indexinfo[].command[].indexname "exactexplicit"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "exactexplicit"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "exactexplicit"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "exactexplicit2"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "exactexplicit2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "exactexplicit2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "exactexplicit2"
indexinfo[].command[].command "exact Arnold"
indexinfo[].command[].indexname "gram"
indexinfo[].command[].command "lowercase"
@@ -414,6 +482,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "gram"
indexinfo[].command[].command "phrase-segmenting false"
indexinfo[].command[].indexname "gram"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "gram"
indexinfo[].command[].command "ngram 2"
indexinfo[].command[].indexname "nostem1"
indexinfo[].command[].command "lowercase"
@@ -423,6 +493,8 @@ indexinfo[].command[].indexname "nostem1"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "nostem1"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nostem1"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "nostem2"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "nostem2"
@@ -431,6 +503,8 @@ indexinfo[].command[].indexname "nostem2"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "nostem2"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "nostem2"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "default"
@@ -441,3 +515,5 @@ indexinfo[].command[].indexname "default"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "string"
diff --git a/config-model/src/test/derived/indexswitches/index-info.cfg b/config-model/src/test/derived/indexswitches/index-info.cfg
index ae1eb48952f..5c72264c98d 100644
--- a/config-model/src/test/derived/indexswitches/index-info.cfg
+++ b/config-model/src/test/derived/indexswitches/index-info.cfg
@@ -14,6 +14,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "title"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "title"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "descr"
indexinfo[].command[].command "index"
@@ -26,10 +28,14 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "descr"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "descr"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "descr"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "source_src"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "source_src"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "source_src"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "source"
indexinfo[].command[].command "index"
@@ -40,6 +46,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "source"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "source"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "source"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "lowercase"
@@ -51,3 +59,5 @@ indexinfo[].command[].indexname "default"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "string"
diff --git a/config-model/src/test/derived/inheritance/index-info.cfg b/config-model/src/test/derived/inheritance/index-info.cfg
index d8849778c23..a163c0b3640 100644
--- a/config-model/src/test/derived/inheritance/index-info.cfg
+++ b/config-model/src/test/derived/inheritance/index-info.cfg
@@ -22,6 +22,8 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "onlyfather"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "onlyfather"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "onlyfather"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "onlymother"
indexinfo[].command[].command "index"
@@ -34,6 +36,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "onlymother"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "onlymother"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "onlymother"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "onlychild"
indexinfo[].command[].command "index"
@@ -46,4 +50,6 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "onlychild"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "onlychild"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "onlychild"
indexinfo[].command[].command "type string"
diff --git a/config-model/src/test/derived/inheritstruct/index-info.cfg b/config-model/src/test/derived/inheritstruct/index-info.cfg
index 9c880f7b3f4..8898ca8d944 100644
--- a/config-model/src/test/derived/inheritstruct/index-info.cfg
+++ b/config-model/src/test/derived/inheritstruct/index-info.cfg
@@ -14,6 +14,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "child_struct_field.my_str"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "child_struct_field.my_str"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "child_struct_field.my_str"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "child_struct_field"
indexinfo[].command[].command "index"
@@ -23,16 +25,18 @@ indexinfo[].command[].indexname "child_struct_field"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "child_struct_field"
indexinfo[].command[].command "type my_struct"
-indexinfo[].command[].indexname "other_field.my_str"
-indexinfo[].command[].command "index"
-indexinfo[].command[].indexname "other_field.my_str"
-indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "other_field.my_int"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "other_field.my_int"
indexinfo[].command[].command "numerical"
indexinfo[].command[].indexname "other_field.my_int"
indexinfo[].command[].command "type int"
+indexinfo[].command[].indexname "other_field.my_str"
+indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "other_field.my_str"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "other_field.my_str"
+indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "other_field"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "other_field"
@@ -40,6 +44,8 @@ indexinfo[].command[].command "type other_struct"
indexinfo[].command[].indexname "wrapped_field.wrapped.my_str"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "wrapped_field.wrapped.my_str"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "wrapped_field.wrapped.my_str"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "wrapped_field.wrapped"
indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/lowercase/index-info.cfg b/config-model/src/test/derived/lowercase/index-info.cfg
index ff6008fe1ce..a1d9f9ab4ef 100644
--- a/config-model/src/test/derived/lowercase/index-info.cfg
+++ b/config-model/src/test/derived/lowercase/index-info.cfg
@@ -6,12 +6,16 @@ indexinfo[].command[].command "word"
indexinfo[].command[].indexname "single_field_source"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "single_field_source"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "single_field_source"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "array_field_source"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "array_field_source"
indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "array_field_source"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "array_field_source"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "array_field"
indexinfo[].command[].command "index"
@@ -26,6 +30,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "array_field"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "array_field"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "array_field"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "single_field"
indexinfo[].command[].command "index"
@@ -38,4 +44,6 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "single_field"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "single_field"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "single_field"
indexinfo[].command[].command "type string"
diff --git a/config-model/src/test/derived/map_attribute/index-info.cfg b/config-model/src/test/derived/map_attribute/index-info.cfg
index 07e0482f436..029964476ea 100644
--- a/config-model/src/test/derived/map_attribute/index-info.cfg
+++ b/config-model/src/test/derived/map_attribute/index-info.cfg
@@ -12,6 +12,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "str_map.key"
indexinfo[].command[].command "fast-search"
indexinfo[].command[].indexname "str_map.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "str_map.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "str_map.key"
indexinfo[].command[].command "word"
@@ -22,6 +24,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "str_map.value"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "str_map.value"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "str_map.value"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "str_map.value"
indexinfo[].command[].command "word"
diff --git a/config-model/src/test/derived/map_of_struct_attribute/index-info.cfg b/config-model/src/test/derived/map_of_struct_attribute/index-info.cfg
index cee154645da..84bf4271b81 100644
--- a/config-model/src/test/derived/map_of_struct_attribute/index-info.cfg
+++ b/config-model/src/test/derived/map_of_struct_attribute/index-info.cfg
@@ -12,6 +12,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "str_elem_map.key"
indexinfo[].command[].command "fast-search"
indexinfo[].command[].indexname "str_elem_map.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "str_elem_map.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "str_elem_map.key"
indexinfo[].command[].command "word"
@@ -22,6 +24,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "str_elem_map.value.name"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "str_elem_map.value.name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "str_elem_map.value.name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "str_elem_map.value.name"
indexinfo[].command[].command "word"
@@ -60,6 +64,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "int_elem_map.value.name"
indexinfo[].command[].command "fast-search"
indexinfo[].command[].indexname "int_elem_map.value.name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "int_elem_map.value.name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "int_elem_map.value.name"
indexinfo[].command[].command "word"
diff --git a/config-model/src/test/derived/matchsettings_map_after/index-info.cfg b/config-model/src/test/derived/matchsettings_map_after/index-info.cfg
index 374d5071c31..0dd1d7272b8 100644
--- a/config-model/src/test/derived/matchsettings_map_after/index-info.cfg
+++ b/config-model/src/test/derived/matchsettings_map_after/index-info.cfg
@@ -6,12 +6,16 @@ indexinfo[].command[].command "word"
indexinfo[].command[].indexname "mse4.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mse4.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mse4.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mse4.key"
indexinfo[].command[].command "exact @mse4_key@"
indexinfo[].command[].indexname "mse4.value.sf1s"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mse4.value.sf1s"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mse4.value.sf1s"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mse4.value.sf1s"
indexinfo[].command[].command "exact @mse4_value_sf1s@"
diff --git a/config-model/src/test/derived/matchsettings_map_def/index-info.cfg b/config-model/src/test/derived/matchsettings_map_def/index-info.cfg
index 4e87847265a..e4939fb7543 100644
--- a/config-model/src/test/derived/matchsettings_map_def/index-info.cfg
+++ b/config-model/src/test/derived/matchsettings_map_def/index-info.cfg
@@ -14,6 +14,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "mss3.key"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "mss3.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mss3.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mss3.value"
indexinfo[].command[].command "index"
@@ -26,6 +28,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "mss3.value"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "mss3.value"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mss3.value"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mss3"
indexinfo[].command[].command "index"
@@ -40,10 +44,14 @@ indexinfo[].command[].command "type Map<string,string>"
indexinfo[].command[].indexname "mse4.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mse4.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mse4.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mse4.value.sf1s"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mse4.value.sf1s"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mse4.value.sf1s"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mse4.value.sf2i"
indexinfo[].command[].command "index"
@@ -72,6 +80,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "mse5.key"
indexinfo[].command[].command "fast-search"
indexinfo[].command[].indexname "mse5.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mse5.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mse5.key"
indexinfo[].command[].command "word"
@@ -82,6 +92,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "mse5.value.sf1s"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "mse5.value.sf1s"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mse5.value.sf1s"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mse5.value.sf1s"
indexinfo[].command[].command "word"
diff --git a/config-model/src/test/derived/matchsettings_map_in_struct/index-info.cfg b/config-model/src/test/derived/matchsettings_map_in_struct/index-info.cfg
index 72ea815a25e..668409d031d 100644
--- a/config-model/src/test/derived/matchsettings_map_in_struct/index-info.cfg
+++ b/config-model/src/test/derived/matchsettings_map_in_struct/index-info.cfg
@@ -10,6 +10,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "stuff.cf5e1.sf1s"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "stuff.cf5e1.sf1s"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "stuff.cf5e1.sf1s"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "stuff.cf5e1.sf1s"
indexinfo[].command[].command "word"
@@ -20,6 +22,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "stuff.cf5e1.sf2m.key"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "stuff.cf5e1.sf2m.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "stuff.cf5e1.sf2m.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "stuff.cf5e1.sf2m.key"
indexinfo[].command[].command "word"
@@ -30,6 +34,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "stuff.cf5e1.sf2m.value"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "stuff.cf5e1.sf2m.value"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "stuff.cf5e1.sf2m.value"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "stuff.cf5e1.sf2m.value"
indexinfo[].command[].command "word"
@@ -46,6 +52,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "stuff.cf5e1.sf3s"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "stuff.cf5e1.sf3s"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "stuff.cf5e1.sf3s"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "stuff.cf5e1.sf3s"
indexinfo[].command[].command "exact @elem@"
@@ -56,6 +64,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "stuff.cf5e1.sf4m.key"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "stuff.cf5e1.sf4m.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "stuff.cf5e1.sf4m.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "stuff.cf5e1.sf4m.key"
indexinfo[].command[].command "exact @elem@"
@@ -66,6 +76,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "stuff.cf5e1.sf4m.value"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "stuff.cf5e1.sf4m.value"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "stuff.cf5e1.sf4m.value"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "stuff.cf5e1.sf4m.value"
indexinfo[].command[].command "exact @elem@"
@@ -88,6 +100,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "stuff.cf6e2.sf1s"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "stuff.cf6e2.sf1s"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "stuff.cf6e2.sf1s"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "stuff.cf6e2.sf1s"
indexinfo[].command[].command "exact @combi@"
@@ -98,6 +112,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "stuff.cf6e2.sf2m.key"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "stuff.cf6e2.sf2m.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "stuff.cf6e2.sf2m.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "stuff.cf6e2.sf2m.key"
indexinfo[].command[].command "exact @combi@"
@@ -108,6 +124,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "stuff.cf6e2.sf2m.value"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "stuff.cf6e2.sf2m.value"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "stuff.cf6e2.sf2m.value"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "stuff.cf6e2.sf2m.value"
indexinfo[].command[].command "exact @combi@"
@@ -126,6 +144,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "stuff.cf6e2.sf3s"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "stuff.cf6e2.sf3s"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "stuff.cf6e2.sf3s"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "stuff.cf6e2.sf3s"
indexinfo[].command[].command "exact @elem@"
@@ -136,6 +156,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "stuff.cf6e2.sf4m.key"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "stuff.cf6e2.sf4m.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "stuff.cf6e2.sf4m.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "stuff.cf6e2.sf4m.key"
indexinfo[].command[].command "exact @elem@"
@@ -146,6 +168,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "stuff.cf6e2.sf4m.value"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "stuff.cf6e2.sf4m.value"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "stuff.cf6e2.sf4m.value"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "stuff.cf6e2.sf4m.value"
indexinfo[].command[].command "exact @elem@"
diff --git a/config-model/src/test/derived/matchsettings_map_wfs/index-info.cfg b/config-model/src/test/derived/matchsettings_map_wfs/index-info.cfg
index 38ae1f78d17..2101908413f 100644
--- a/config-model/src/test/derived/matchsettings_map_wfs/index-info.cfg
+++ b/config-model/src/test/derived/matchsettings_map_wfs/index-info.cfg
@@ -8,6 +8,8 @@ indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mss3.key"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "mss3.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mss3.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mss3.key"
indexinfo[].command[].command "exact @mss3_key@"
@@ -16,6 +18,8 @@ indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mss3.value"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "mss3.value"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mss3.value"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mss3.value"
indexinfo[].command[].command "exact @mss3_value@"
@@ -32,12 +36,16 @@ indexinfo[].command[].command "type Map<string,string>"
indexinfo[].command[].indexname "mse4.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mse4.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mse4.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mse4.key"
indexinfo[].command[].command "exact @mse4_key@"
indexinfo[].command[].indexname "mse4.value.sf1s"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mse4.value.sf1s"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mse4.value.sf1s"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mse4.value.sf1s"
indexinfo[].command[].command "exact @mse4_value_sf1s@"
@@ -68,6 +76,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "mse5.key"
indexinfo[].command[].command "fast-search"
indexinfo[].command[].indexname "mse5.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mse5.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mse5.key"
indexinfo[].command[].command "exact @mse5_key@"
@@ -78,6 +88,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "mse5.value.sf1s"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "mse5.value.sf1s"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mse5.value.sf1s"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mse5.value.sf1s"
indexinfo[].command[].command "exact @mse5_value_sf1s@"
diff --git a/config-model/src/test/derived/matchsettings_map_wss/index-info.cfg b/config-model/src/test/derived/matchsettings_map_wss/index-info.cfg
index 0f6773d0fe8..03e203c7aca 100644
--- a/config-model/src/test/derived/matchsettings_map_wss/index-info.cfg
+++ b/config-model/src/test/derived/matchsettings_map_wss/index-info.cfg
@@ -14,6 +14,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "mss3.key"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "mss3.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mss3.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mss3.value"
indexinfo[].command[].command "index"
@@ -26,6 +28,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "mss3.value"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "mss3.value"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mss3.value"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mss3"
indexinfo[].command[].command "index"
@@ -40,10 +44,14 @@ indexinfo[].command[].command "type Map<string,string>"
indexinfo[].command[].indexname "mse4.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mse4.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mse4.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mse4.value.sf1s"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mse4.value.sf1s"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mse4.value.sf1s"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mse4.value.sf1s"
indexinfo[].command[].command "exact @elem_sf1s@"
@@ -74,6 +82,8 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "mse5.key"
indexinfo[].command[].command "fast-search"
indexinfo[].command[].indexname "mse5.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mse5.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mse5.key"
indexinfo[].command[].command "word"
@@ -84,6 +94,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "mse5.value.sf1s"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "mse5.value.sf1s"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mse5.value.sf1s"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mse5.value.sf1s"
indexinfo[].command[].command "exact @elem_sf1s@"
diff --git a/config-model/src/test/derived/matchsettings_simple_def/index-info.cfg b/config-model/src/test/derived/matchsettings_simple_def/index-info.cfg
index fbd7b7755cc..497f2315949 100644
--- a/config-model/src/test/derived/matchsettings_simple_def/index-info.cfg
+++ b/config-model/src/test/derived/matchsettings_simple_def/index-info.cfg
@@ -14,10 +14,14 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "field_1_string"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "field_1_string"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "field_1_string"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "field_2_struct.elem_field_2_int"
indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/matchsettings_simple_wfs/index-info.cfg b/config-model/src/test/derived/matchsettings_simple_wfs/index-info.cfg
index 8362870f427..1080696a090 100644
--- a/config-model/src/test/derived/matchsettings_simple_wfs/index-info.cfg
+++ b/config-model/src/test/derived/matchsettings_simple_wfs/index-info.cfg
@@ -8,12 +8,16 @@ indexinfo[].command[].command "index"
indexinfo[].command[].indexname "field_1_string"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "field_1_string"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "field_1_string"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "field_1_string"
indexinfo[].command[].command "exact @f1s@"
indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
indexinfo[].command[].command "exact @f2s@"
diff --git a/config-model/src/test/derived/matchsettings_simple_wss/index-info.cfg b/config-model/src/test/derived/matchsettings_simple_wss/index-info.cfg
index dda78b04f9b..976b5ceafe4 100644
--- a/config-model/src/test/derived/matchsettings_simple_wss/index-info.cfg
+++ b/config-model/src/test/derived/matchsettings_simple_wss/index-info.cfg
@@ -8,12 +8,16 @@ indexinfo[].command[].command "index"
indexinfo[].command[].indexname "field_1_string"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "field_1_string"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "field_1_string"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "field_1_string"
indexinfo[].command[].command "exact @f1s@"
indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
indexinfo[].command[].command "exact @ef1@"
diff --git a/config-model/src/test/derived/matchsettings_simple_wss_wfs/index-info.cfg b/config-model/src/test/derived/matchsettings_simple_wss_wfs/index-info.cfg
index 8362870f427..1080696a090 100644
--- a/config-model/src/test/derived/matchsettings_simple_wss_wfs/index-info.cfg
+++ b/config-model/src/test/derived/matchsettings_simple_wss_wfs/index-info.cfg
@@ -8,12 +8,16 @@ indexinfo[].command[].command "index"
indexinfo[].command[].indexname "field_1_string"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "field_1_string"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "field_1_string"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "field_1_string"
indexinfo[].command[].command "exact @f1s@"
indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "field_2_struct.elem_field_1_string"
indexinfo[].command[].command "exact @f2s@"
diff --git a/config-model/src/test/derived/multiplesummaries/index-info.cfg b/config-model/src/test/derived/multiplesummaries/index-info.cfg
index 6167dcbef02..085a9eb232f 100644
--- a/config-model/src/test/derived/multiplesummaries/index-info.cfg
+++ b/config-model/src/test/derived/multiplesummaries/index-info.cfg
@@ -10,6 +10,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "a"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "a"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "a"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "adynamic"
indexinfo[].command[].command "index"
@@ -18,6 +20,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "adynamic"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "adynamic"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "adynamic"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "abolded"
indexinfo[].command[].command "index"
@@ -26,10 +30,14 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "abolded"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "abolded"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "abolded"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "b"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "b"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "b"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "c"
indexinfo[].command[].command "index"
@@ -38,20 +46,28 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "c"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "c"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "c"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "d"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "d"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "d"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "e"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "e"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "e"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "f"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "f"
indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "f"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "f"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "g"
indexinfo[].command[].command "index"
@@ -66,10 +82,14 @@ indexinfo[].command[].command "index"
indexinfo[].command[].indexname "h"
indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "h"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "h"
indexinfo[].command[].command "type WeightedSet<string>"
indexinfo[].command[].indexname "loc"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "loc"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "loc"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mytags"
indexinfo[].command[].command "index"
@@ -84,32 +104,46 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "mytags"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "mytags"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mytags"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "abolded2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "abolded2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "abolded2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "aboldeddynamic"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "aboldeddynamic"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "aboldeddynamic"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "adynamic2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "adynamic2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "adynamic2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "alltags"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "alltags"
indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "alltags"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "alltags"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "anotherb"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "anotherb"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "anotherb"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "dynamice"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "dynamice"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "dynamice"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "loc_pos.x"
indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/music/index-info.cfg b/config-model/src/test/derived/music/index-info.cfg
index 306aa157623..b428dca2db0 100644
--- a/config-model/src/test/derived/music/index-info.cfg
+++ b/config-model/src/test/derived/music/index-info.cfg
@@ -6,6 +6,8 @@ indexinfo[].command[].command "word"
indexinfo[].command[].indexname "bgndata"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "bgndata"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "bgndata"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "sales"
indexinfo[].command[].command "index"
@@ -34,6 +36,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "keys"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "keys"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "keys"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mid"
indexinfo[].command[].command "index"
@@ -54,10 +58,14 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "ew"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "ew"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "ew"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "surl"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "surl"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "surl"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "userrate"
indexinfo[].command[].command "index"
@@ -68,6 +76,8 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "pid"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "pid"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "pid"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "weight"
indexinfo[].command[].command "index"
@@ -80,10 +90,14 @@ indexinfo[].command[].command "type float"
indexinfo[].command[].indexname "url"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "url"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "url"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "isbn"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "isbn"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "isbn"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "fmt"
indexinfo[].command[].command "index"
@@ -96,14 +110,20 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "fmt"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "fmt"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "fmt"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "albumid"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "albumid"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "albumid"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "disp_song"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "disp_song"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "disp_song"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "song"
indexinfo[].command[].command "index"
@@ -116,6 +136,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "song"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "song"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "song"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "pfrom"
indexinfo[].command[].command "index"
@@ -142,10 +164,14 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "categories"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "categories"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "categories"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "data"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "data"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "data"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "numreview"
indexinfo[].command[].command "index"
@@ -162,6 +188,8 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "image"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "image"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "image"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "artist"
indexinfo[].command[].command "index"
@@ -174,10 +202,14 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "artist"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "artist"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "artist"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "artistspid"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "artistspid"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "artistspid"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "title"
indexinfo[].command[].command "index"
@@ -190,6 +222,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "title"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "title"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "newestedition"
indexinfo[].command[].command "index"
@@ -202,6 +236,8 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "bgnpto"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "bgnpto"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "bgnpto"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "year"
indexinfo[].command[].command "index"
@@ -236,10 +272,14 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "metalvalue"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "metalvalue"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "metalvalue"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "hiphopvalue"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "hiphopvalue"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "hiphopvalue"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "powermetalvalue"
indexinfo[].command[].command "index"
@@ -252,6 +292,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "powermetalvalue"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "powermetalvalue"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "powermetalvalue"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "progvalue"
indexinfo[].command[].command "index"
@@ -264,6 +306,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "progvalue"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "progvalue"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "progvalue"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "hiphopvalue_arr"
indexinfo[].command[].command "index"
@@ -274,6 +318,8 @@ indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "hiphopvalue_arr"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "hiphopvalue_arr"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "hiphopvalue_arr"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "hiphopvalue_arr"
indexinfo[].command[].command "word"
@@ -286,6 +332,8 @@ indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "metalvalue_arr"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "metalvalue_arr"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "metalvalue_arr"
indexinfo[].command[].command "type Array<string>"
indexinfo[].command[].indexname "metalvalue_arr"
indexinfo[].command[].command "word"
@@ -309,3 +357,5 @@ indexinfo[].command[].indexname "default"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "string"
diff --git a/config-model/src/test/derived/newrank/index-info.cfg b/config-model/src/test/derived/newrank/index-info.cfg
index 20f8784fcf0..e6cc2486d47 100644
--- a/config-model/src/test/derived/newrank/index-info.cfg
+++ b/config-model/src/test/derived/newrank/index-info.cfg
@@ -6,6 +6,8 @@ indexinfo[].command[].command "word"
indexinfo[].command[].indexname "bgndata"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "bgndata"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "bgndata"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "sales"
indexinfo[].command[].command "index"
@@ -34,6 +36,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "keys"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "keys"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "keys"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mid"
indexinfo[].command[].command "index"
@@ -54,10 +58,14 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "ew"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "ew"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "ew"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "surl"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "surl"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "surl"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "userrate"
indexinfo[].command[].command "index"
@@ -68,6 +76,8 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "pid"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "pid"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "pid"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "weight"
indexinfo[].command[].command "index"
@@ -80,10 +90,14 @@ indexinfo[].command[].command "type float"
indexinfo[].command[].indexname "url"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "url"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "url"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "isbn"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "isbn"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "isbn"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "fmt"
indexinfo[].command[].command "index"
@@ -96,14 +110,20 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "fmt"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "fmt"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "fmt"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "albumid"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "albumid"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "albumid"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "disp_song"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "disp_song"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "disp_song"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "song"
indexinfo[].command[].command "index"
@@ -116,6 +136,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "song"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "song"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "song"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "pfrom"
indexinfo[].command[].command "index"
@@ -142,10 +164,14 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "categories"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "categories"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "categories"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "data"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "data"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "data"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "numreview"
indexinfo[].command[].command "index"
@@ -162,6 +188,8 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "image"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "image"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "image"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "artist"
indexinfo[].command[].command "index"
@@ -174,10 +202,14 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "artist"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "artist"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "artist"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "artistspid"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "artistspid"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "artistspid"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "title"
indexinfo[].command[].command "index"
@@ -190,6 +222,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "title"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "title"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "newestedition"
indexinfo[].command[].command "index"
@@ -202,6 +236,8 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "bgnpto"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "bgnpto"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "bgnpto"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "year"
indexinfo[].command[].command "index"
@@ -255,3 +291,5 @@ indexinfo[].command[].indexname "default"
indexinfo[].command[].command "stem:BEST"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "normalize"
+indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "string"
diff --git a/config-model/src/test/derived/position_extra/index-info.cfg b/config-model/src/test/derived/position_extra/index-info.cfg
index 97521c14a6a..ba517a7cc79 100644
--- a/config-model/src/test/derived/position_extra/index-info.cfg
+++ b/config-model/src/test/derived/position_extra/index-info.cfg
@@ -6,6 +6,8 @@ indexinfo[].command[].command "word"
indexinfo[].command[].indexname "pos_str"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "pos_str"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "pos_str"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "pos_ext.x"
indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/prefixexactattribute/index-info.cfg b/config-model/src/test/derived/prefixexactattribute/index-info.cfg
index 0203919140f..277f4f1e171 100644
--- a/config-model/src/test/derived/prefixexactattribute/index-info.cfg
+++ b/config-model/src/test/derived/prefixexactattribute/index-info.cfg
@@ -14,6 +14,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "indexfield0"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "indexfield0"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "indexfield0"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "attributefield1"
indexinfo[].command[].command "index"
@@ -22,6 +24,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "attributefield1"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "attributefield1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "attributefield1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "attributefield1"
indexinfo[].command[].command "exact @"
@@ -32,6 +36,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "attributefield2"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "attributefield2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "attributefield2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "attributefield2"
indexinfo[].command[].command "exact @"
@@ -40,6 +46,8 @@ indexinfo[].command[].command "index"
indexinfo[].command[].indexname "indexfield1"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "indexfield1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "indexfield1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "indexfield1"
indexinfo[].command[].command "exact @"
@@ -48,6 +56,8 @@ indexinfo[].command[].command "index"
indexinfo[].command[].indexname "indexfield2"
indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "indexfield2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "indexfield2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "indexfield2"
indexinfo[].command[].command "exact @"
diff --git a/config-model/src/test/derived/ranktypes/index-info.cfg b/config-model/src/test/derived/ranktypes/index-info.cfg
index 9ff5ee0635d..56369252eaa 100644
--- a/config-model/src/test/derived/ranktypes/index-info.cfg
+++ b/config-model/src/test/derived/ranktypes/index-info.cfg
@@ -14,6 +14,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "title"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "title"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "title"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "descr"
indexinfo[].command[].command "index"
@@ -26,6 +28,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "descr"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "descr"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "descr"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "keywords"
indexinfo[].command[].command "index"
@@ -38,6 +42,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "keywords"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "keywords"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "keywords"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "identity"
indexinfo[].command[].command "index"
@@ -50,6 +56,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "identity"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "identity"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "identity"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "identity"
indexinfo[].command[].command "literal-boost"
@@ -60,4 +68,6 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "identity_literal"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "identity_literal"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "identity_literal"
indexinfo[].command[].command "type string"
diff --git a/config-model/src/test/derived/schemainheritance/index-info.cfg b/config-model/src/test/derived/schemainheritance/index-info.cfg
index 3febd5c5226..d1a561af99d 100644
--- a/config-model/src/test/derived/schemainheritance/index-info.cfg
+++ b/config-model/src/test/derived/schemainheritance/index-info.cfg
@@ -6,6 +6,8 @@ indexinfo[].command[].command "word"
indexinfo[].command[].indexname "pf1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "pf1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "pf1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "importedschema_ref"
indexinfo[].command[].command "index"
@@ -18,6 +20,8 @@ indexinfo[].command[].command "word"
indexinfo[].command[].indexname "cf1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "cf1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "cf1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "child_field"
indexinfo[].command[].command "index"
@@ -30,6 +34,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "child_field"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "child_field"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "child_field"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "parent_field"
indexinfo[].command[].command "index"
@@ -42,6 +48,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "parent_field"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "parent_field"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "parent_field"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "parent_imported"
indexinfo[].command[].command "index"
@@ -50,6 +58,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "parent_imported"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "parent_imported"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "parent_imported"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "parent_imported"
indexinfo[].command[].command "word"
@@ -60,6 +70,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "child_imported"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "child_imported"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "child_imported"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "child_imported"
indexinfo[].command[].command "word"
@@ -67,7 +79,11 @@ indexinfo[].command[].indexname "parent_set"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "parent_set"
indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "parent_set"
+indexinfo[].command[].command "string"
indexinfo[].command[].indexname "child_set"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "child_set"
indexinfo[].command[].command "index"
+indexinfo[].command[].indexname "child_set"
+indexinfo[].command[].command "string"
diff --git a/config-model/src/test/derived/structandfieldset/index-info.cfg b/config-model/src/test/derived/structandfieldset/index-info.cfg
index e1a97fe5eea..d5e709fb77c 100644
--- a/config-model/src/test/derived/structandfieldset/index-info.cfg
+++ b/config-model/src/test/derived/structandfieldset/index-info.cfg
@@ -10,6 +10,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "tag"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "tag"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "tag"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "tag"
indexinfo[].command[].command "word"
@@ -20,6 +22,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "people.first_name"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "people.first_name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "people.first_name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "people.first_name"
indexinfo[].command[].command "word"
@@ -30,6 +34,8 @@ indexinfo[].command[].command "lowercase"
indexinfo[].command[].indexname "people.last_name"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "people.last_name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "people.last_name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "people.last_name"
indexinfo[].command[].command "word"
@@ -46,4 +52,6 @@ indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "default"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "default"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "default"
indexinfo[].command[].command "word"
diff --git a/config-model/src/test/derived/structanyorder/index-info.cfg b/config-model/src/test/derived/structanyorder/index-info.cfg
index 10afd9b6f10..ab48e9243e9 100644
--- a/config-model/src/test/derived/structanyorder/index-info.cfg
+++ b/config-model/src/test/derived/structanyorder/index-info.cfg
@@ -6,82 +6,122 @@ indexinfo[].command[].command "word"
indexinfo[].command[].indexname "structfield.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s3"
indexinfo[].command[].command "index"
@@ -224,82 +264,122 @@ indexinfo[].command[].command "type sct"
indexinfo[].command[].indexname "structarrayfield.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s3.s3.s3.s3.s3.s3.s3.s3.s3.s3"
indexinfo[].command[].command "index"
diff --git a/config-model/src/test/derived/types/index-info.cfg b/config-model/src/test/derived/types/index-info.cfg
index 7f43cd67a6b..d509815f72f 100644
--- a/config-model/src/test/derived/types/index-info.cfg
+++ b/config-model/src/test/derived/types/index-info.cfg
@@ -54,6 +54,8 @@ indexinfo[].command[].command "multivalue"
indexinfo[].command[].indexname "setfield"
indexinfo[].command[].command "attribute"
indexinfo[].command[].indexname "setfield"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "setfield"
indexinfo[].command[].command "type WeightedSet<string>"
indexinfo[].command[].indexname "setfield2"
indexinfo[].command[].command "index"
@@ -100,10 +102,14 @@ indexinfo[].command[].command "type WeightedSet<string>"
indexinfo[].command[].indexname "structfield.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structfield.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structfield.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structfield"
indexinfo[].command[].command "index"
@@ -112,10 +118,14 @@ indexinfo[].command[].command "type sct"
indexinfo[].command[].indexname "structarrayfield.s1"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s1"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s1"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield.s2"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "structarrayfield.s2"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "structarrayfield.s2"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "structarrayfield"
indexinfo[].command[].command "index"
@@ -134,6 +144,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "stringmapfield.key"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "stringmapfield.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "stringmapfield.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "stringmapfield.value"
indexinfo[].command[].command "index"
@@ -146,6 +158,8 @@ indexinfo[].command[].command "normalize"
indexinfo[].command[].indexname "stringmapfield.value"
indexinfo[].command[].command "plain-tokens"
indexinfo[].command[].indexname "stringmapfield.value"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "stringmapfield.value"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "stringmapfield"
indexinfo[].command[].command "index"
@@ -160,6 +174,8 @@ indexinfo[].command[].command "type Map<string,string>"
indexinfo[].command[].indexname "intmapfield.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "intmapfield.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "intmapfield.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "intmapfield.value"
indexinfo[].command[].command "index"
@@ -176,6 +192,8 @@ indexinfo[].command[].command "type Map<string,int>"
indexinfo[].command[].indexname "floatmapfield.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "floatmapfield.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "floatmapfield.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "floatmapfield.value"
indexinfo[].command[].command "index"
@@ -228,6 +246,8 @@ indexinfo[].command[].command "type Map<int,double>"
indexinfo[].command[].indexname "arraymapfield.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "arraymapfield.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "arraymapfield.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "arraymapfield.value"
indexinfo[].command[].command "index"
@@ -272,10 +292,14 @@ indexinfo[].command[].command "type Array<byte>"
indexinfo[].command[].indexname "mystructfield.mymap.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mystructfield.mymap.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mystructfield.mymap.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mystructfield.mymap.value"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mystructfield.mymap.value"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mystructfield.mymap.value"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mystructfield.mymap"
indexinfo[].command[].command "index"
@@ -286,10 +310,14 @@ indexinfo[].command[].command "type Map<string,string>"
indexinfo[].command[].indexname "mystructfield.title"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mystructfield.title"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mystructfield.title"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mystructfield.structfield"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mystructfield.structfield"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mystructfield.structfield"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mystructfield"
indexinfo[].command[].command "index"
@@ -312,10 +340,14 @@ indexinfo[].command[].command "type Array<byte>"
indexinfo[].command[].indexname "mystructmap.value.mymap.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mystructmap.value.mymap.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mystructmap.value.mymap.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mystructmap.value.mymap.value"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mystructmap.value.mymap.value"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mystructmap.value.mymap.value"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mystructmap.value.mymap"
indexinfo[].command[].command "index"
@@ -326,10 +358,14 @@ indexinfo[].command[].command "type Map<string,string>"
indexinfo[].command[].indexname "mystructmap.value.title"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mystructmap.value.title"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mystructmap.value.title"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mystructmap.value.structfield"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mystructmap.value.structfield"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mystructmap.value.structfield"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mystructmap.value"
indexinfo[].command[].command "index"
@@ -352,10 +388,14 @@ indexinfo[].command[].command "type Array<byte>"
indexinfo[].command[].indexname "mystructarr.mymap.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mystructarr.mymap.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mystructarr.mymap.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mystructarr.mymap.value"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mystructarr.mymap.value"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mystructarr.mymap.value"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mystructarr.mymap"
indexinfo[].command[].command "index"
@@ -366,10 +406,14 @@ indexinfo[].command[].command "type Map<string,string>"
indexinfo[].command[].indexname "mystructarr.title"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mystructarr.title"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mystructarr.title"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mystructarr.structfield"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "mystructarr.structfield"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "mystructarr.structfield"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "mystructarr"
indexinfo[].command[].command "index"
@@ -392,10 +436,14 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "Folders.value.Name"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.Name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.Name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.FlagsCounter.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.FlagsCounter.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.FlagsCounter.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.FlagsCounter.value"
indexinfo[].command[].command "index"
@@ -418,10 +466,14 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "Folders.value.anotherfolder.Name"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.Name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.Name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.FlagsCounter.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.FlagsCounter.value"
indexinfo[].command[].command "index"
@@ -444,10 +496,14 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.Name"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.Name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.Name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.FlagsCounter.value"
indexinfo[].command[].command "index"
@@ -470,10 +526,14 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.Name"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.Name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.Name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
indexinfo[].command[].command "index"
@@ -496,10 +556,14 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
indexinfo[].command[].command "index"
@@ -522,10 +586,14 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
indexinfo[].command[].command "index"
@@ -548,10 +616,14 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
indexinfo[].command[].command "index"
@@ -574,10 +646,14 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
indexinfo[].command[].command "index"
@@ -600,10 +676,14 @@ indexinfo[].command[].command "type int"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.Name"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "index"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
+indexinfo[].command[].command "string"
+indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.key"
indexinfo[].command[].command "type string"
indexinfo[].command[].indexname "Folders.value.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.anotherfolder.FlagsCounter.value"
indexinfo[].command[].command "index"
diff --git a/container-search/abi-spec.json b/container-search/abi-spec.json
index 785475ae77e..40c86902f5c 100644
--- a/container-search/abi-spec.json
+++ b/container-search/abi-spec.json
@@ -8561,7 +8561,7 @@
"public"
],
"methods" : [
- "public void <init>(com.yahoo.vespa.config.search.AttributesConfig)",
+ "public void <init>()",
"public com.yahoo.search.Result search(com.yahoo.search.Query, com.yahoo.search.searchchain.Execution)"
],
"fields" : [ ]
diff --git a/container-search/src/main/java/com/yahoo/prelude/Index.java b/container-search/src/main/java/com/yahoo/prelude/Index.java
index 48d8e382722..e245faec919 100644
--- a/container-search/src/main/java/com/yahoo/prelude/Index.java
+++ b/container-search/src/main/java/com/yahoo/prelude/Index.java
@@ -46,7 +46,9 @@ public class Index {
private boolean normalize = false;
private boolean literalBoost = false;
private boolean numerical = false;
+ private boolean string = false;
private boolean predicate = false;
+
private long predicateUpperBound = Long.MAX_VALUE;
private long predicateLowerBound = Long.MIN_VALUE;
@@ -68,6 +70,8 @@ public class Index {
/** All the commands added to this, including those converted to fields above */
private final List<String> allCommands = new java.util.ArrayList<>();
+ private static final String CMD_STRING = "string";
+
public Index(String name) {
this.name = name;
}
@@ -175,6 +179,8 @@ public class Index {
setPhraseSegmenting(true);
} else if (command.startsWith("phrase-segmenting ")) {
setPhraseSegmenting(Boolean.parseBoolean(command.substring("phrase-segmenting ".length())));
+ } else if (command.equals(CMD_STRING)) {
+ setString(true);
} else {
commands.add(command);
}
@@ -296,6 +302,10 @@ public class Index {
public boolean isNumerical() { return numerical; }
+ public void setString(boolean string) { this.string = string; }
+
+ public boolean isString() { return string; }
+
public void setPredicate(boolean isPredicate) { this.predicate = isPredicate; }
public boolean isPredicate() { return predicate; }
diff --git a/container-search/src/main/java/com/yahoo/search/searchers/ValidateFuzzySearcher.java b/container-search/src/main/java/com/yahoo/search/searchers/ValidateFuzzySearcher.java
index 249a6342da6..43caaacc324 100644
--- a/container-search/src/main/java/com/yahoo/search/searchers/ValidateFuzzySearcher.java
+++ b/container-search/src/main/java/com/yahoo/search/searchers/ValidateFuzzySearcher.java
@@ -2,6 +2,8 @@
package com.yahoo.search.searchers;
import com.yahoo.prelude.query.FuzzyItem;
+import com.yahoo.prelude.Index;
+import com.yahoo.prelude.IndexFacts;
import com.yahoo.prelude.query.Item;
import com.yahoo.prelude.query.ToolBox;
import com.yahoo.search.Query;
@@ -26,24 +28,17 @@ import java.util.Set;
@Before(GroupingExecutor.COMPONENT_NAME) // Must happen before query.prepare()
public class ValidateFuzzySearcher extends Searcher {
- private final Set<String> validAttributes = new HashSet<>();
-
- public ValidateFuzzySearcher(AttributesConfig attributesConfig) {
- for (AttributesConfig.Attribute a : attributesConfig.attribute()) {
- if (a.datatype() == AttributesConfig.Attribute.Datatype.STRING) {
- validAttributes.add(a.name());
- }
- }
+ public ValidateFuzzySearcher() {
}
@Override
public Result search(Query query, Execution execution) {
- Optional<ErrorMessage> e = validate(query);
+ Optional<ErrorMessage> e = validate(query, execution.context().getIndexFacts().newSession(query));
return e.isEmpty() ? execution.search(query) : new Result(query, e.get());
}
- private Optional<ErrorMessage> validate(Query query) {
- FuzzyVisitor visitor = new FuzzyVisitor(query.getRanking().getProperties(), validAttributes, query);
+ private Optional<ErrorMessage> validate(Query query, IndexFacts.Session indexFacts) {
+ FuzzyVisitor visitor = new FuzzyVisitor(indexFacts);
ToolBox.visit(visitor, query.getModel().getQueryTree().getRoot());
return visitor.errorMessage;
}
@@ -52,12 +47,10 @@ public class ValidateFuzzySearcher extends Searcher {
public Optional<ErrorMessage> errorMessage = Optional.empty();
- private final Set<String> validAttributes;
- private final Query query;
+ private final IndexFacts.Session indexFacts;
- public FuzzyVisitor(RankProperties rankProperties, Set<String> validAttributes, Query query) {
- this.validAttributes = validAttributes;
- this.query = query;
+ public FuzzyVisitor(IndexFacts.Session indexFacts) {
+ this.indexFacts = indexFacts;
}
@Override
@@ -72,7 +65,9 @@ public class ValidateFuzzySearcher extends Searcher {
/** Returns an error message if this is invalid, or null if it is valid */
private String validate(FuzzyItem item) {
- if (!validAttributes.contains(item.getIndexName())) {
+ String indexName = item.getIndexName();
+ Index index = getIndexFromUnionOfDocumentTypes(indexName);
+ if (!index.isAttribute() || !index.isString()) {
return item + " field is not a string attribute";
}
if (item.getPrefixLength() < 0) {
@@ -87,6 +82,10 @@ public class ValidateFuzzySearcher extends Searcher {
return null;
}
+ private Index getIndexFromUnionOfDocumentTypes(String indexName) {
+ return indexFacts.getIndex(indexName);
+ }
+
@Override
public void onExit() {}
diff --git a/container-search/src/test/java/com/yahoo/search/searchers/ValidateFuzzySearcherTestCase.java b/container-search/src/test/java/com/yahoo/search/searchers/ValidateFuzzySearcherTestCase.java
index 1cf8159e19e..c4d9734fb5d 100644
--- a/container-search/src/test/java/com/yahoo/search/searchers/ValidateFuzzySearcherTestCase.java
+++ b/container-search/src/test/java/com/yahoo/search/searchers/ValidateFuzzySearcherTestCase.java
@@ -1,6 +1,7 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.search.searchers;
+import com.yahoo.prelude.Index;
import com.yahoo.prelude.IndexFacts;
import com.yahoo.prelude.IndexModel;
import com.yahoo.prelude.SearchDefinition;
@@ -12,7 +13,6 @@ import com.yahoo.search.query.parser.ParserEnvironment;
import com.yahoo.search.result.ErrorMessage;
import com.yahoo.search.searchchain.Execution;
import com.yahoo.search.yql.YqlParser;
-import com.yahoo.vespa.config.search.AttributesConfig;
import com.yahoo.vespa.config.search.AttributesConfig.Attribute;
import org.junit.jupiter.api.Test;
@@ -31,26 +31,28 @@ public class ValidateFuzzySearcherTestCase {
List<String> attributes;
+ private List<Index> indexes;
+
+ private static final String CMD_ATTRIBUTE = "attribute";
+ private static final String CMD_STRING = "string";
+
public ValidateFuzzySearcherTestCase() {
attributes = new ArrayList<>();
- AttributesConfig.Builder configBuilder = new AttributesConfig.Builder();
- List<AttributesConfig.Attribute.Builder> attributesList = new ArrayList<>();
+ indexes = new ArrayList<>();
for (Attribute.Datatype.Enum attr: Attribute.Datatype.Enum.values()) {
for (Attribute.Collectiontype.Enum ctype: Attribute.Collectiontype.Enum.values()) {
- AttributesConfig.Attribute.Builder attributesBuilder = new AttributesConfig.Attribute.Builder();
String attributeName = attr.name().toLowerCase() + "_" + ctype.name().toLowerCase();
- attributesBuilder.name(attributeName);
- attributesBuilder.datatype(attr);
- attributesBuilder.collectiontype(ctype);
- attributesList.add(attributesBuilder);
-
attributes.add(attributeName);
+
+ Index index = new Index(attributeName);
+ index.addCommand(CMD_ATTRIBUTE);
+ if (attr == Attribute.Datatype.STRING) {
+ index.addCommand(CMD_STRING);
+ }
+ indexes.add(index);
}
}
- configBuilder.attribute(attributesList);
- AttributesConfig config = configBuilder.build();
-
- searcher = new ValidateFuzzySearcher(config);
+ searcher = new ValidateFuzzySearcher();
}
private String makeQuery(String attribute, String query, int maxEditDistance, int prefixLength) {
@@ -111,11 +113,14 @@ public class ValidateFuzzySearcherTestCase {
assertEquals(ErrorMessage.createIllegalQuery(message), r.hits().getError());
}
- private static Result doSearch(ValidateFuzzySearcher searcher, String yqlQuery) {
+ private Result doSearch(ValidateFuzzySearcher searcher, String yqlQuery) {
QueryTree queryTree = new YqlParser(new ParserEnvironment()).parse(new Parsable().setQuery(yqlQuery));
Query query = new Query();
query.getModel().getQueryTree().setRoot(queryTree.getRoot());
SearchDefinition searchDefinition = new SearchDefinition("document");
+ for (Index index : indexes) {
+ searchDefinition.addIndex(index);
+ }
IndexFacts indexFacts = new IndexFacts(new IndexModel(searchDefinition));
return new Execution(searcher, Execution.Context.createContextStub(indexFacts)).search(query);
}