@@ -5,105 +5,116 @@ sidebar_position: 1
5
5
6
6
import FunctionDescription from '@site/src /components/FunctionDescription';
7
7
8
- <FunctionDescription description =" Introduced or updated: v1.2.726" />
8
+ <FunctionDescription description =" ๅผๅ
ฅๆๆดๆฐไบ๏ผ v1.2.726" />
9
9
10
10
import EEFeature from '@site/src /components/EEFeature';
11
11
12
12
<EEFeature featureName =' NGRAM INDEX ' />
13
13
14
- ไธบ่กจ็ไธไธชๆๅคไธชๅๅๅปบ Ngram ็ดขๅผใ
14
+ ไธบ่กจ็ๆไธๅๅๅปบ Ngram ็ดขๅผ๏ผIndex๏ผ ใ
15
15
16
16
## ่ฏญๆณ
17
17
18
18
``` sql
19
19
-- ๅจ็ฐๆ่กจไธๅๅปบ Ngram ็ดขๅผ
20
20
CREATE [OR REPLACE] NGRAM INDEX [IF NOT EXISTS] < index_name>
21
- ON [< database> .]< table_name> (< column1 > [, < column2 > , ...] )
22
- [gram_size = < number > ] [bitmap_size = < number > ]
21
+ ON [< database> .]< table_name> (< column > )
22
+ [gram_size = < number > ] [bloom_size = < number > ]
23
23
24
- -- ๅๅปบ่กจๆถๅๅปบ Ngram ็ดขๅผ
24
+ -- ๅจๅๅปบ่กจๆถๅๅปบ Ngram ็ดขๅผ
25
25
CREATE [OR REPLACE] TABLE < table_name> (
26
26
< column_definitions> ,
27
- NGRAM INDEX < index_name> (< column1 > [, < column2 > , ...] )
28
- [gram_size = < number > ] [bitmap_size = < number > ]
27
+ NGRAM INDEX < index_name> (< column > )
28
+ [gram_size = < number > ] [bloom_size = < number > ]
29
29
)...
30
30
```
31
31
32
- - ` gram_size ` ( ้ป่ฎคไธบ 3) ๆๅฎ็ดขๅผๅๆๆฌๆถ๏ผๆฏไธชๅบไบๅญ็ฌฆ็ๅญๅญ็ฌฆไธฒ ๏ผn-gram๏ผ็้ฟๅบฆใไพๅฆ๏ผๅฝ ` gram_size = 3 ` ๆถ๏ผๆๆฌ "hello world" ๅฐ่ขซๅๅฒๆๅฆไธ้ๅ ็ๅญๅญ็ฌฆไธฒ ๏ผ
32
+ - ` gram_size ` ๏ผ ้ป่ฎคไธบ 3๏ผๆๅฎไธบๅๆๆฌๅปบ็ซ็ดขๅผๆถ๏ผๆฏไธชๅบไบๅญ็ฌฆ็ๅญไธฒ ๏ผn-gram๏ผ็้ฟๅบฆใไพๅฆๅฝ ` gram_size = 3 ` ๆถ๏ผๆๆฌ "hello world" ไผ่ขซๅๅฒไธบไปฅไธ้ๅ ๅญไธฒ ๏ผ
33
33
34
34
``` text
35
35
"hel", "ell", "llo", "lo ", "o w", " wo", "wor", "orl", "rld"
36
36
```
37
37
38
- - ` bloom_size ` ๆๅฎ Bloom filter ไฝๅพ็ๅคงๅฐ๏ผไปฅๅญ่ไธบๅไฝ๏ผ๏ผ็จไบๅ ้ๆฏไธชๆฐๆฎๅไธญ็ๅญ็ฌฆไธฒๅน้
ใๅฎๆงๅถ็ดขๅผๅ็กฎๆงๅๅ
ๅญไฝฟ็จไน้ด็ๆ่กก๏ผ
39
-
40
- - ่พๅคง็ ` bloom_size ` ๅๅฐไบๅญ็ฌฆไธฒๆฅๆพไธญ็่ฏฏๆฅ๏ผไป่ๆ้ซไบๆฅ่ฏข็ฒพๅบฆ๏ผไฝไปฃไปทๆฏ้่ฆๆดๅค็ๅ
ๅญใ
41
- - ่พๅฐ็ ` bloom_size ` ่็ไบๅ
ๅญ๏ผไฝๅฏ่ฝไผๅขๅ ่ฏฏๆฅใ
42
- - ๅฆๆๆชๆพๅผ่ฎพ็ฝฎ๏ผๅ้ป่ฎคๅผไธบๆฏไธช็ดขๅผๅๆฏไธชๅ 1,048,576 ๅญ่๏ผ1m๏ผใๆๆ่ๅดไธบ 512 ๅญ่ๅฐ 10,485,760 ๅญ่๏ผ10m๏ผใ
38
+ - ` bloom_size ` ๆๅฎ็จไบๅ ้ๆฐๆฎๅๅ
ๅญ็ฌฆไธฒๅน้
็ๅธ้่ฟๆปคๅจ๏ผBloom filter๏ผไฝๅพๅคงๅฐ๏ผๅไฝ๏ผๅญ่๏ผ๏ผๆงๅถ็ดขๅผ็ฒพๅบฆไธๅ
ๅญๅ ็จ็ๅนณ่กก๏ผ
39
+ - ๆดๅคง็ ` bloom_size ` ๅฏๅๅฐๅญ็ฌฆไธฒๆฅๆพ็่ฏฏๆฅ๏ผๆๅๆฅ่ฏข็ฒพๅบฆไฝๅขๅ ๅ
ๅญๆถ่
40
+ - ๆดๅฐ็ ` bloom_size ` ่็ๅ
ๅญไฝๅฏ่ฝๅขๅ ่ฏฏๆฅ
41
+ - ๆชๆพๅผ่ฎพ็ฝฎๆถ๏ผ้ป่ฎคๆฏ็ดขๅผๅๆฏๆฐๆฎๅๅ ็จ 1,048,576 ๅญ่๏ผ1m๏ผ๏ผๆๆ่ๅดไธบ 512 ๅญ่่ณ 10,485,760 ๅญ่๏ผ10m๏ผ
43
42
44
43
## ็คบไพ
45
44
46
- ไปฅไธ็คบไพๅๅปบไบไธไธช่กจ ` amazon_reviews_ngram ` ๏ผๅนถๅจ ` review_body ` ๅไธๅๅปบไบไธไธช Ngram ็ดขๅผใ่ฏฅ็ดขๅผ้
็ฝฎไบ ` gram_size ` ไธบ 10 ๅ ` bitmap_size ` ไธบ 2 MB๏ผไปฅไผๅๅคงๅๆๆฌๅญๆฎต๏ผๅฆ็จๆท่ฏ่ฎบ๏ผไธ็ๆจก็ณๆ็ดขๆง่ฝใ
45
+ ### ๅๅปบๅธฆ NGRAM ็ดขๅผ็่กจ
47
46
48
47
``` sql
49
- CREATE OR REPLACE TABLE amazon_reviews_ngram (
50
- review_date int (11 ) NULL ,
51
- marketplace varchar (20 ) NULL ,
52
- customer_id bigint (20 ) NULL ,
53
- review_id varchar (40 ) NULL ,
54
- product_id varchar (10 ) NULL ,
55
- product_parent bigint (20 ) NULL ,
56
- product_title varchar (500 ) NULL ,
57
- product_category varchar (50 ) NULL ,
58
- star_rating smallint (6 ) NULL ,
59
- helpful_votes int (11 ) NULL ,
60
- total_votes int (11 ) NULL ,
61
- vine boolean NULL ,
62
- verified_purchase boolean NULL ,
63
- review_headline varchar (500 ) NULL ,
64
- review_body string NULL ,
65
- NGRAM INDEX idx1 (review_body) gram_size = 10 bloom_size = 2097152
66
- ) Engine = Fuse bloom_index_columns= ' review_body' ;
48
+ CREATE TABLE articles (
49
+ id INT ,
50
+ title VARCHAR ,
51
+ content STRING,
52
+ NGRAM INDEX idx_content (content)
53
+ );
67
54
```
68
55
69
- ่ฆๆพ็คบๅๅปบ็็ดขๅผ๏ผ่ฏทไฝฟ็จ [ SHOW INDEXES ] ( ../../50-administration-cmds/show-indexes.md ) ๅฝไปค๏ผ
56
+ ### ๅจ็ฐๆ่กจไธๅๅปบ NGRAM ็ดขๅผ
70
57
71
58
``` sql
72
- SHOW INDEXES;
59
+ CREATE TABLE products (
60
+ id INT ,
61
+ name VARCHAR ,
62
+ description STRING
63
+ );
64
+
65
+ CREATE NGRAM INDEX idx_description
66
+ ON products(description);
73
67
```
74
68
69
+ ### ๆฅ็็ดขๅผ
70
+
75
71
``` sql
76
- โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
77
- โ name โ type โ original โ definition โ created_on โ updated_on โ
78
- โโโโโโโโโโผโโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโค
79
- โ idx1 โ NGRAM โ โ amazon_reviews_ngram(review_body)bloom_size= ' 2097152' gram_size= ' 10' โ 2025 - 05 - 13 01 :22 :34 .123927 โ NULL โ
80
- โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
72
+ SHOW INDEXES;
73
+ ```
74
+
75
+ ็ปๆ๏ผ
76
+ ```
77
+ โโโโโโโโโโโโโโโโโโโฌโโโโโโโโฌโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโฌโโโโโโโโโโโโโโโโโโโโโโโโโโโ
78
+ โ name โ type โ original โ definition โ created_on โ
79
+ โโโโโโโโโโโโโโโโโโโผโโโโโโโโผโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโโโโค
80
+ โ idx_content โ NGRAM โ โ articles(content) โ 2025-05-13 01:22:34.123 โ
81
+ โ idx_description โ NGRAM โ โ products(description) โ 2025-05-13 01:23:45.678 โ
82
+ โโโโโโโโโโโโโโโโโโโดโโโโโโโโดโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโดโโโโโโโโโโโโโโโโโโโโโโโโโโโ
81
83
```
82
84
83
- ๆ่
๏ผๆจๅฏไปฅๅ
ๅๅปบ่กจ๏ผ็ถๅๅจ ` review_body ` ๅไธๅๅปบ Ngram ็ดขๅผ๏ผ
85
+ ### ไฝฟ็จ NGRAM ็ดขๅผ
84
86
85
87
``` sql
86
- CREATE TABLE amazon_reviews_ngram (
87
- review_date int (11 ) NULL ,
88
- marketplace varchar (20 ) NULL ,
89
- customer_id bigint (20 ) NULL ,
90
- review_id varchar (40 ) NULL ,
91
- product_id varchar (10 ) NULL ,
92
- product_parent bigint (20 ) NULL ,
93
- product_title varchar (500 ) NULL ,
94
- product_category varchar (50 ) NULL ,
95
- star_rating smallint (6 ) NULL ,
96
- helpful_votes int (11 ) NULL ,
97
- total_votes int (11 ) NULL ,
98
- vine boolean NULL ,
99
- verified_purchase boolean NULL ,
100
- review_headline varchar (500 ) NULL ,
101
- review_body string NULL
88
+ -- ๅๅปบๅธฆ NGRAM ็ดขๅผ็่กจ
89
+ CREATE TABLE phrases (
90
+ id INT ,
91
+ text STRING,
92
+ NGRAM INDEX idx_text (text )
102
93
);
94
+
95
+ -- ๆๅ
ฅ็คบไพๆฐๆฎ
96
+ INSERT INTO phrases VALUES
97
+ (1 , ' apple banana cherry' ),
98
+ (2 , ' banana date fig' ),
99
+ (3 , ' cherry elderberry fig' ),
100
+ (4 , ' date grape kiwi' );
101
+
102
+ -- ไฝฟ็จ NGRAM ็ดขๅผ่ฟ่กๆจก็ณๅน้
ๆฅ่ฏข
103
+ SELECT * FROM phrases WHERE text LIKE ' %banana%' ;
103
104
```
104
105
106
+ ็ปๆ๏ผ
107
+ ```
108
+ โโโโโโฌโโโโโโโโโโโโโโโโโโโโโโ
109
+ โ id โ text โ
110
+ โโโโโโผโโโโโโโโโโโโโโโโโโโโโโค
111
+ โ 1 โ apple banana cherry โ
112
+ โ 2 โ banana date fig โ
113
+ โโโโโโดโโโโโโโโโโโโโโโโโโโโโโ
114
+ ```
115
+
116
+ ### ๅ ้ค NGRAM ็ดขๅผ
117
+
105
118
``` sql
106
- CREATE NGRAM INDEX idx1
107
- ON amazon_reviews_ngram(review_body)
108
- gram_size = 10 bloom_size = 2097152 ;
119
+ DROP NGRAM INDEX idx_text ON phrases;
109
120
```
0 commit comments