Skip to content

Commit 607c261

Browse files
authored
[opt](inverted index) set support_phrase default true if parser is set (#37949)
1. "support_phrase" = "true" 2. New tables support phrase by default
1 parent 16eeff8 commit 607c261

File tree

4 files changed

+17
-10
lines changed

4 files changed

+17
-10
lines changed

fe/fe-core/src/main/java/org/apache/doris/catalog/Index.java

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -74,9 +74,16 @@ public Index(long indexId, String indexName, List<String> columns,
7474
this.comment = comment;
7575
if (indexType == IndexDef.IndexType.INVERTED) {
7676
if (this.properties != null && !this.properties.isEmpty()) {
77-
String key = InvertedIndexUtil.INVERTED_INDEX_PARSER_LOWERCASE_KEY;
78-
if (!properties.containsKey(key)) {
79-
this.properties.put(key, "true");
77+
if (this.properties.containsKey(InvertedIndexUtil.INVERTED_INDEX_PARSER_KEY)) {
78+
String lowerCaseKey = InvertedIndexUtil.INVERTED_INDEX_PARSER_LOWERCASE_KEY;
79+
if (!properties.containsKey(lowerCaseKey)) {
80+
this.properties.put(lowerCaseKey, "true");
81+
}
82+
String supportPhraseKey = InvertedIndexUtil
83+
.INVERTED_INDEX_SUPPORT_PHRASE_KEY;
84+
if (!properties.containsKey(supportPhraseKey)) {
85+
this.properties.put(supportPhraseKey, "true");
86+
}
8087
}
8188
}
8289
}

fe/fe-core/src/test/java/org/apache/doris/common/proc/IndexesProcNodeTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,7 +80,7 @@ public void testFetchResult() throws AnalysisException {
8080
Assert.assertEquals(procResult.getRows().get(1).get(5), "col_2");
8181
Assert.assertEquals(procResult.getRows().get(1).get(11), "INVERTED");
8282
Assert.assertEquals(procResult.getRows().get(1).get(12), "inverted index on col_2");
83-
Assert.assertEquals(procResult.getRows().get(1).get(13), "(\"parser\" = \"unicode\", \"lower_case\" = \"true\")");
83+
Assert.assertEquals(procResult.getRows().get(1).get(13), "(\"parser\" = \"unicode\", \"lower_case\" = \"true\", \"support_phrase\" = \"true\")");
8484

8585
Assert.assertEquals(procResult.getRows().get(2).get(0), "tbl_test_indexes_proc");
8686
Assert.assertEquals(procResult.getRows().get(2).get(1), "3");

regression-test/suites/backup_restore/test_backup_restore_inverted_index.groovy

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ suite("test_backup_restore_inverted_index", "backup_restore") {
7474

7575
def restore_index_comment = sql "SHOW CREATE TABLE ${dbName}.${tableName}"
7676

77-
assertTrue(restore_index_comment[0][1].contains("USING INVERTED PROPERTIES(\"parser\" = \"english\", \"lower_case\" = \"true\")"))
77+
assertTrue(restore_index_comment[0][1].contains("USING INVERTED PROPERTIES(\"parser\" = \"english\", \"lower_case\" = \"true\", \"support_phrase\" = \"true\")"))
7878

7979
result = sql "SELECT id, TOKENIZE(comment,'\"parser\"=\"english\"') as token FROM ${dbName}.${tableName}"
8080
assertEquals(result.size(), 2)

regression-test/suites/index_p0/test_index_meta.groovy

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ suite("index_meta", "p0") {
7171
assertEquals(show_result[1][4], "name")
7272
assertEquals(show_result[1][10], "INVERTED")
7373
assertEquals(show_result[1][11], "index for name")
74-
assertEquals(show_result[1][12], "(\"parser\" = \"none\", \"lower_case\" = \"true\")")
74+
assertEquals(show_result[1][12], "(\"parser\" = \"none\", \"lower_case\" = \"true\", \"support_phrase\" = \"true\")")
7575

7676
// add index on column description
7777
sql "create index idx_desc on ${tableName}(description) USING INVERTED PROPERTIES(\"parser\"=\"standard\") COMMENT 'index for description';"
@@ -90,12 +90,12 @@ suite("index_meta", "p0") {
9090
assertEquals(show_result[1][4], "name")
9191
assertEquals(show_result[1][10], "INVERTED")
9292
assertEquals(show_result[1][11], "index for name")
93-
assertEquals(show_result[1][12], "(\"parser\" = \"none\", \"lower_case\" = \"true\")")
93+
assertEquals(show_result[1][12], "(\"parser\" = \"none\", \"lower_case\" = \"true\", \"support_phrase\" = \"true\")")
9494
assertEquals(show_result[2][2], "idx_desc")
9595
assertEquals(show_result[2][4], "description")
9696
assertEquals(show_result[2][10], "INVERTED")
9797
assertEquals(show_result[2][11], "index for description")
98-
assertEquals(show_result[2][12], "(\"parser\" = \"standard\", \"lower_case\" = \"true\")")
98+
assertEquals(show_result[2][12], "(\"parser\" = \"standard\", \"lower_case\" = \"true\", \"support_phrase\" = \"true\")")
9999

100100
// drop index
101101
// add index on column description
@@ -114,7 +114,7 @@ suite("index_meta", "p0") {
114114
assertEquals(show_result[1][4], "description")
115115
assertEquals(show_result[1][10], "INVERTED")
116116
assertEquals(show_result[1][11], "index for description")
117-
assertEquals(show_result[1][12], "(\"parser\" = \"standard\", \"lower_case\" = \"true\")")
117+
assertEquals(show_result[1][12], "(\"parser\" = \"standard\", \"lower_case\" = \"true\", \"support_phrase\" = \"true\")")
118118

119119
// add index on column description
120120
sql "create index idx_name on ${tableName}(name) USING INVERTED COMMENT 'new index for name';"
@@ -133,7 +133,7 @@ suite("index_meta", "p0") {
133133
assertEquals(show_result[1][4], "description")
134134
assertEquals(show_result[1][10], "INVERTED")
135135
assertEquals(show_result[1][11], "index for description")
136-
assertEquals(show_result[1][12], "(\"parser\" = \"standard\", \"lower_case\" = \"true\")")
136+
assertEquals(show_result[1][12], "(\"parser\" = \"standard\", \"lower_case\" = \"true\", \"support_phrase\" = \"true\")")
137137
assertEquals(show_result[2][2], "idx_name")
138138
assertEquals(show_result[2][4], "name")
139139
assertEquals(show_result[2][10], "INVERTED")

0 commit comments

Comments
 (0)