阅读ngram文档
This commit is contained in:
@@ -83,6 +83,7 @@
|
|||||||
- [ngram parser wildcard Search](#ngram--parser-wildcard-search)
|
- [ngram parser wildcard Search](#ngram--parser-wildcard-search)
|
||||||
- [前缀小于ngram token size](#前缀小于ngram-token-size)
|
- [前缀小于ngram token size](#前缀小于ngram-token-size)
|
||||||
- [前缀大于ngram token size](#前缀大于ngram-token-size)
|
- [前缀大于ngram token size](#前缀大于ngram-token-size)
|
||||||
|
- [示例](#示例)
|
||||||
|
|
||||||
|
|
||||||
# innodb索引与算法
|
# innodb索引与算法
|
||||||
@@ -982,7 +983,7 @@ select * from information_schema.INNODB_FT_INDEX_CACHE limit 20;
|
|||||||
|
|
||||||
### ngram handle stop word
|
### ngram handle stop word
|
||||||
#### natural language mode
|
#### natural language mode
|
||||||
对于natural language mode,`被搜索的词`将会被转化为ngram的并集,例如`abc`(假设ngram token size为2)将会被转化为`ab bc`。
|
对于natural language mode,`被搜索的词`将会被转化为ngram的并集(包含任意一个即可),例如`abc`(假设ngram token size为2)将会被转化为`ab bc`。
|
||||||
|
|
||||||
如果存在两个文档,一个文档包含`ab`,另一个文档包含`abc`,搜索词`ab bc`将会匹配两个文档。
|
如果存在两个文档,一个文档包含`ab`,另一个文档包含`abc`,搜索词`ab bc`将会匹配两个文档。
|
||||||
|
|
||||||
@@ -996,5 +997,8 @@ select * from information_schema.INNODB_FT_INDEX_CACHE limit 20;
|
|||||||
#### 前缀大于ngram token size
|
#### 前缀大于ngram token size
|
||||||
如果前缀大于ngram token size,那么前缀将会转化为ngram phase,并且wildcard将会被忽略。例如,当`ngram_token_size`为2,查询`abc*`将会转换为`ab bc`
|
如果前缀大于ngram token size,那么前缀将会转化为ngram phase,并且wildcard将会被忽略。例如,当`ngram_token_size`为2,查询`abc*`将会转换为`ab bc`
|
||||||
|
|
||||||
|
#### 示例
|
||||||
|
对于`泽连斯基最新表态`字符串,其实际被分割为`泽连斯基,连斯基最,斯基最新,基最新表,最新表态`这些word,故而对于boolean mode下的phrase场景,其匹配如下:
|
||||||
|
- `"泽连斯基 连斯基最"`:能够匹配字符串
|
||||||
|
- `"泽连斯基 最新表态"`:无法匹配字符串
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user