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]

Reply via email to