This is an automated email from the ASF dual-hosted git repository.
yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris-website.git
The following commit(s) were added to refs/heads/master by this push:
new e757ce579f1 Update inverted index docs for match_regexp and
multi_match (#2383)
e757ce579f1 is described below
commit e757ce579f1cf5f5a04efa9254b9e172bd58b99a
Author: zzzxl <[email protected]>
AuthorDate: Mon May 19 18:28:42 2025 +0800
Update inverted index docs for match_regexp and multi_match (#2383)
1. update match_regexp usage
2. add multi_match usage
## Versions
- [x] dev
- [x] 3.0
- [x] 2.1
- [x] 2.0
## Languages
- [x] Chinese
- [x] English
## Docs Checklist
- [ ] Checked by AI
- [ ] Test Cases Built
---
docs/table-design/index/inverted-index.md | 23 +++++++++++++++++++---
.../table-and-view/index/DROP-INDEX.md | 2 +-
.../current/table-design/index/inverted-index.md | 21 +++++++++++++++++++-
.../table-design/index/inverted-index.md | 2 +-
.../table-and-view/index/DROP-INDEX.md | 2 +-
.../table-design/index/inverted-index.md | 21 +++++++++++++++++++-
.../table-and-view/index/DROP-INDEX.md | 2 +-
.../table-design/index/inverted-index.md | 21 +++++++++++++++++++-
.../table-design/index/inverted-index.md | 2 +-
.../table-design/index/inverted-index.md | 23 +++++++++++++++++++---
.../table-design/index/inverted-index.md | 23 +++++++++++++++++++---
11 files changed, 125 insertions(+), 17 deletions(-)
diff --git a/docs/table-design/index/inverted-index.md
b/docs/table-design/index/inverted-index.md
index d73975fb554..daaf38adba2 100644
--- a/docs/table-design/index/inverted-index.md
+++ b/docs/table-design/index/inverted-index.md
@@ -315,14 +315,31 @@ SELECT * FROM table_name WHERE content
MATCH_PHRASE_PREFIX 'keyword1';
-- 2.5 Regular expression matching on tokenized words, with a default limit of
50 matches (controlled by session variable inverted_index_max_expansions)
-- Similar to MATCH_PHRASE_PREFIX but with regex instead of prefix
-SELECT * FROM table_name WHERE content MATCH_REGEXP 'key*';
-```
+SELECT * FROM table_name WHERE content MATCH_REGEXP 'key.*';
-```sql
-- 3. Normal equality, range, IN, and NOT IN queries using standard SQL
syntax, for example:
SELECT * FROM table_name WHERE id = 123;
SELECT * FROM table_name WHERE ts > '2023-01-01 00:00:00';
SELECT * FROM table_name WHERE op_type IN ('add', 'delete');
+
+-- 4. Full-text search across multiple columns using the multi_match function
+-- Parameters:
+-- First N parameters are column names to search
+-- Second-to-last parameter specifies match mode:
'any'/'all'/'phrase'/'phrase_prefix'
+-- Last parameter is the keyword or phrase to search for
+
+-- 4.1 Rows where 'keyword1' appears in ANY of col1,col2,col3 (OR logic)
+select * FROM table_name WHERE multi_match(col1, col2, col3, 'any',
'keyword1');
+
+-- 4.2 Rows where 'keyword1' appears in ALL of col1,col2,col3 (AND logic)
+select * FROM table_name WHERE multi_match(col1, col2, col3, 'all',
'keyword1');
+
+-- 4.3 Rows where the exact phrase 'keyword1' appears in ANY of col1,col2,col3
(exact phrase match)
+select * FROM table_name WHERE multi_match(col1, col2, col3, 'phrase',
'keyword1');
+
+-- 4.4 Rows where a phrase starting with 'keyword1' appears in ANY of
col1,col2,col3 (phrase prefix match)
+-- For example, will match content like "keyword123"
+select * FROM table_name WHERE multi_match(col1, col2, col3, 'phrase_prefix',
'keyword1');
```
### Analyzing Index Acceleration Effects Through Profiles
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/index/DROP-INDEX.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/index/DROP-INDEX.md
index ea92ffa9328..1c27762a9be 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/index/DROP-INDEX.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/sql-manual/sql-statements/table-and-view/index/DROP-INDEX.md
@@ -26,7 +26,7 @@ under the License.
## 描述
-该语句用于从一个表中删除指定名称的索引,目前仅支持 bitmap 索引。
+该语句用于从一个表中删除指定名称的索引,目前仅支持 bitmap, inverted index 索引。
## 语法
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/index/inverted-index.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/index/inverted-index.md
index 3c89dbc4fde..2245a137a25 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/index/inverted-index.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/current/table-design/index/inverted-index.md
@@ -318,12 +318,31 @@ SELECT * FROM table_name WHERE content
MATCH_PHRASE_PREFIX 'keyword1';
-- 2.5 对分词后的词进行正则匹配,默认匹配 50 个(session 变量 inverted_index_max_expansions 控制)
-- 类似 MATCH_PHRASE_PREFIX 的匹配规则,只是前缀变成了正则
-SELECT * FROM table_name WHERE content MATCH_REGEXP 'key*';
+SELECT * FROM table_name WHERE content MATCH_REGEXP 'key.*';
-- 3. 普通等值、范围、IN、NOT IN,正常的 SQL 语句即可,例如
SELECT * FROM table_name WHERE id = 123;
SELECT * FROM table_name WHERE ts > '2023-01-01 00:00:00';
SELECT * FROM table_name WHERE op_type IN ('add', 'delete');
+
+-- 4. 多列全文检索匹配,通过 multi_match 函数完成
+-- 参数说明:
+-- 前N个参数是要匹配的列名
+-- 倒数第二个参数指定匹配模式:'any'/'all'/'phrase'/'phrase_prefix'
+-- 最后一个参数是要搜索的关键词或短语
+
+-- 4.1 在col1,col2,col3任意一列中包含'keyword1'的行(OR逻辑)
+SELECT * FROM table_name WHERE multi_match(col1, col2, col3, 'any',
'keyword1');
+
+-- 4.2 在col1,col2,col3所有列中都包含'keyword1'的行(AND逻辑)
+SELECT * FROM table_name WHERE multi_match(col1, col2, col3, 'all',
'keyword1');
+
+-- 4.3 在col1,col2,col3任意一列中包含完整短语'keyword1'的行(精确短语匹配)
+SELECT * FROM table_name WHERE multi_match(col1, col2, col3, 'phrase',
'keyword1');
+
+-- 4.4 在col1,col2,col3任意一列中包含以'keyword1'开头的短语的行(短语前缀匹配)
+-- 例如会匹配"keyword123"这样的内容
+SELECT * FROM table_name WHERE multi_match(col1, col2, col3, 'phrase_prefix',
'keyword1');
```
### 通过 profile 分析索引加速效果
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0/table-design/index/inverted-index.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0/table-design/index/inverted-index.md
index 2df7e7e3768..b8a3a9cb2dd 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0/table-design/index/inverted-index.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.0/table-design/index/inverted-index.md
@@ -317,7 +317,7 @@ SELECT * FROM table_name WHERE content MATCH_PHRASE_PREFIX
'keyword1';
-- 2.5 对分词后的词进行正则匹配,默认匹配 50 个(session 变量 inverted_index_max_expansions 控制)
-- 类似 MATCH_PHRASE_PREFIX 的匹配规则,只是前缀变成了正则
-SELECT * FROM table_name WHERE content MATCH_REGEXP 'key*';
+SELECT * FROM table_name WHERE content MATCH_REGEXP 'key.*';
-- 3. 普通等值、范围、IN、NOT IN,正常的 SQL 语句即可,例如
SELECT * FROM table_name WHERE id = 123;
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-statements/table-and-view/index/DROP-INDEX.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-statements/table-and-view/index/DROP-INDEX.md
index ea92ffa9328..1c27762a9be 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-statements/table-and-view/index/DROP-INDEX.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/sql-manual/sql-statements/table-and-view/index/DROP-INDEX.md
@@ -26,7 +26,7 @@ under the License.
## 描述
-该语句用于从一个表中删除指定名称的索引,目前仅支持 bitmap 索引。
+该语句用于从一个表中删除指定名称的索引,目前仅支持 bitmap, inverted index 索引。
## 语法
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/table-design/index/inverted-index.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/table-design/index/inverted-index.md
index deaa2e88f50..a821638f0de 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/table-design/index/inverted-index.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-2.1/table-design/index/inverted-index.md
@@ -318,12 +318,31 @@ SELECT * FROM table_name WHERE content
MATCH_PHRASE_PREFIX 'keyword1';
-- 2.5 对分词后的词进行正则匹配,默认匹配 50 个(session 变量 inverted_index_max_expansions 控制)
-- 类似 MATCH_PHRASE_PREFIX 的匹配规则,只是前缀变成了正则
-SELECT * FROM table_name WHERE content MATCH_REGEXP 'key*';
+SELECT * FROM table_name WHERE content MATCH_REGEXP 'key.*';
-- 3. 普通等值、范围、IN、NOT IN,正常的 SQL 语句即可,例如
SELECT * FROM table_name WHERE id = 123;
SELECT * FROM table_name WHERE ts > '2023-01-01 00:00:00';
SELECT * FROM table_name WHERE op_type IN ('add', 'delete');
+
+-- 4. 多列全文检索匹配,通过 multi_match 函数完成
+-- 参数说明:
+-- 前N个参数是要匹配的列名
+-- 倒数第二个参数指定匹配模式:'any'/'all'/'phrase'/'phrase_prefix'
+-- 最后一个参数是要搜索的关键词或短语
+
+-- 4.1 在col1,col2,col3任意一列中包含'keyword1'的行(OR逻辑)
+SELECT * FROM table_name WHERE multi_match(col1, col2, col3, 'any',
'keyword1');
+
+-- 4.2 在col1,col2,col3所有列中都包含'keyword1'的行(AND逻辑)
+SELECT * FROM table_name WHERE multi_match(col1, col2, col3, 'all',
'keyword1');
+
+-- 4.3 在col1,col2,col3任意一列中包含完整短语'keyword1'的行(精确短语匹配)
+SELECT * FROM table_name WHERE multi_match(col1, col2, col3, 'phrase',
'keyword1');
+
+-- 4.4 在col1,col2,col3任意一列中包含以'keyword1'开头的短语的行(短语前缀匹配)
+-- 例如会匹配"keyword123"这样的内容
+SELECT * FROM table_name WHERE multi_match(col1, col2, col3, 'phrase_prefix',
'keyword1');
```
### 通过 profile 分析索引加速效果
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-statements/table-and-view/index/DROP-INDEX.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-statements/table-and-view/index/DROP-INDEX.md
index ea92ffa9328..1c27762a9be 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-statements/table-and-view/index/DROP-INDEX.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/sql-manual/sql-statements/table-and-view/index/DROP-INDEX.md
@@ -26,7 +26,7 @@ under the License.
## 描述
-该语句用于从一个表中删除指定名称的索引,目前仅支持 bitmap 索引。
+该语句用于从一个表中删除指定名称的索引,目前仅支持 bitmap, inverted index 索引。
## 语法
diff --git
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/table-design/index/inverted-index.md
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/table-design/index/inverted-index.md
index 75806e18c83..a82358a09f1 100644
---
a/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/table-design/index/inverted-index.md
+++
b/i18n/zh-CN/docusaurus-plugin-content-docs/version-3.0/table-design/index/inverted-index.md
@@ -318,12 +318,31 @@ SELECT * FROM table_name WHERE content
MATCH_PHRASE_PREFIX 'keyword1';
-- 2.5 对分词后的词进行正则匹配,默认匹配 50 个(session 变量 inverted_index_max_expansions 控制)
-- 类似 MATCH_PHRASE_PREFIX 的匹配规则,只是前缀变成了正则
-SELECT * FROM table_name WHERE content MATCH_REGEXP 'key*';
+SELECT * FROM table_name WHERE content MATCH_REGEXP 'key.*';
-- 3. 普通等值、范围、IN、NOT IN,正常的 SQL 语句即可,例如
SELECT * FROM table_name WHERE id = 123;
SELECT * FROM table_name WHERE ts > '2023-01-01 00:00:00';
SELECT * FROM table_name WHERE op_type IN ('add', 'delete');
+
+-- 4. 多列全文检索匹配,通过 multi_match 函数完成
+-- 参数说明:
+-- 前N个参数是要匹配的列名
+-- 倒数第二个参数指定匹配模式:'any'/'all'/'phrase'/'phrase_prefix'
+-- 最后一个参数是要搜索的关键词或短语
+
+-- 4.1 在col1,col2,col3任意一列中包含'keyword1'的行(OR逻辑)
+SELECT * FROM table_name WHERE multi_match(col1, col2, col3, 'any',
'keyword1');
+
+-- 4.2 在col1,col2,col3所有列中都包含'keyword1'的行(AND逻辑)
+SELECT * FROM table_name WHERE multi_match(col1, col2, col3, 'all',
'keyword1');
+
+-- 4.3 在col1,col2,col3任意一列中包含完整短语'keyword1'的行(精确短语匹配)
+SELECT * FROM table_name WHERE multi_match(col1, col2, col3, 'phrase',
'keyword1');
+
+-- 4.4 在col1,col2,col3任意一列中包含以'keyword1'开头的短语的行(短语前缀匹配)
+-- 例如会匹配"keyword123"这样的内容
+SELECT * FROM table_name WHERE multi_match(col1, col2, col3, 'phrase_prefix',
'keyword1');
```
### 通过 profile 分析索引加速效果
diff --git a/versioned_docs/version-2.0/table-design/index/inverted-index.md
b/versioned_docs/version-2.0/table-design/index/inverted-index.md
index 4bdc2e1f88d..93128df104a 100644
--- a/versioned_docs/version-2.0/table-design/index/inverted-index.md
+++ b/versioned_docs/version-2.0/table-design/index/inverted-index.md
@@ -314,7 +314,7 @@ SELECT * FROM table_name WHERE content MATCH_PHRASE_PREFIX
'keyword1';
-- 2.5 Regular expression matching on tokenized words, with a default limit of
50 matches (controlled by session variable inverted_index_max_expansions)
-- Similar to MATCH_PHRASE_PREFIX but with regex instead of prefix
-SELECT * FROM table_name WHERE content MATCH_REGEXP 'key*';
+SELECT * FROM table_name WHERE content MATCH_REGEXP 'key.*';
```
```sql
diff --git a/versioned_docs/version-2.1/table-design/index/inverted-index.md
b/versioned_docs/version-2.1/table-design/index/inverted-index.md
index fe4971f57b2..cbac6576913 100644
--- a/versioned_docs/version-2.1/table-design/index/inverted-index.md
+++ b/versioned_docs/version-2.1/table-design/index/inverted-index.md
@@ -312,14 +312,31 @@ SELECT * FROM table_name WHERE content
MATCH_PHRASE_PREFIX 'keyword1';
-- 2.5 Regular expression matching on tokenized words, with a default limit of
50 matches (controlled by session variable inverted_index_max_expansions)
-- Similar to MATCH_PHRASE_PREFIX but with regex instead of prefix
-SELECT * FROM table_name WHERE content MATCH_REGEXP 'key*';
-```
+SELECT * FROM table_name WHERE content MATCH_REGEXP 'key.*';
-```sql
-- 3. Normal equality, range, IN, and NOT IN queries using standard SQL
syntax, for example:
SELECT * FROM table_name WHERE id = 123;
SELECT * FROM table_name WHERE ts > '2023-01-01 00:00:00';
SELECT * FROM table_name WHERE op_type IN ('add', 'delete');
+
+-- 4. Full-text search across multiple columns using the multi_match function
+-- Parameters:
+-- First N parameters are column names to search
+-- Second-to-last parameter specifies match mode:
'any'/'all'/'phrase'/'phrase_prefix'
+-- Last parameter is the keyword or phrase to search for
+
+-- 4.1 Rows where 'keyword1' appears in ANY of col1,col2,col3 (OR logic)
+select * FROM table_name WHERE multi_match(col1, col2, col3, 'any',
'keyword1');
+
+-- 4.2 Rows where 'keyword1' appears in ALL of col1,col2,col3 (AND logic)
+select * FROM table_name WHERE multi_match(col1, col2, col3, 'all',
'keyword1');
+
+-- 4.3 Rows where the exact phrase 'keyword1' appears in ANY of col1,col2,col3
(exact phrase match)
+select * FROM table_name WHERE multi_match(col1, col2, col3, 'phrase',
'keyword1');
+
+-- 4.4 Rows where a phrase starting with 'keyword1' appears in ANY of
col1,col2,col3 (phrase prefix match)
+-- For example, will match content like "keyword123"
+select * FROM table_name WHERE multi_match(col1, col2, col3, 'phrase_prefix',
'keyword1');
```
### Analyzing Index Acceleration Effects Through Profiles
diff --git a/versioned_docs/version-3.0/table-design/index/inverted-index.md
b/versioned_docs/version-3.0/table-design/index/inverted-index.md
index 0dc499e3f2c..60aa6650f8c 100644
--- a/versioned_docs/version-3.0/table-design/index/inverted-index.md
+++ b/versioned_docs/version-3.0/table-design/index/inverted-index.md
@@ -315,14 +315,31 @@ SELECT * FROM table_name WHERE content
MATCH_PHRASE_PREFIX 'keyword1';
-- 2.5 Regular expression matching on tokenized words, with a default limit of
50 matches (controlled by session variable inverted_index_max_expansions)
-- Similar to MATCH_PHRASE_PREFIX but with regex instead of prefix
-SELECT * FROM table_name WHERE content MATCH_REGEXP 'key*';
-```
+SELECT * FROM table_name WHERE content MATCH_REGEXP 'key.*';
-```sql
-- 3. Normal equality, range, IN, and NOT IN queries using standard SQL
syntax, for example:
SELECT * FROM table_name WHERE id = 123;
SELECT * FROM table_name WHERE ts > '2023-01-01 00:00:00';
SELECT * FROM table_name WHERE op_type IN ('add', 'delete');
+
+-- 4. Full-text search across multiple columns using the multi_match function
+-- Parameters:
+-- First N parameters are column names to search
+-- Second-to-last parameter specifies match mode:
'any'/'all'/'phrase'/'phrase_prefix'
+-- Last parameter is the keyword or phrase to search for
+
+-- 4.1 Rows where 'keyword1' appears in ANY of col1,col2,col3 (OR logic)
+select * FROM table_name WHERE multi_match(col1, col2, col3, 'any',
'keyword1');
+
+-- 4.2 Rows where 'keyword1' appears in ALL of col1,col2,col3 (AND logic)
+select * FROM table_name WHERE multi_match(col1, col2, col3, 'all',
'keyword1');
+
+-- 4.3 Rows where the exact phrase 'keyword1' appears in ANY of col1,col2,col3
(exact phrase match)
+select * FROM table_name WHERE multi_match(col1, col2, col3, 'phrase',
'keyword1');
+
+-- 4.4 Rows where a phrase starting with 'keyword1' appears in ANY of
col1,col2,col3 (phrase prefix match)
+-- For example, will match content like "keyword123"
+select * FROM table_name WHERE multi_match(col1, col2, col3, 'phrase_prefix',
'keyword1');
```
### Analyzing Index Acceleration Effects Through Profiles
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]