推荐链接:
总结——》【Java】
总结——》【Mysql】
总结——》【Redis】
总结——》【Kafka】
总结——》【Spring】
总结——》【SpringBoot】
总结——》【MyBatis、MyBatis-Plus】
总结——》【Linux】
总结——》【MongoDB】
总结——》【Elasticsearch】
一、概念
在 Elasticsearch 中,ngram 分词器是一种基于 n-gram 算法的分词器
,用于将文本转换为一组 n-gram 词项
。与其他一些分词器(如 standard 分词器)不同,ngram 分词器可以生成部分单词
,并且不需要完整的词汇表。
二、工作原理
ngram 分词器的工作原理是将输入文本切分成一个个较小的子字符串,然后将这些子字符串作为词项添加到索引中。这个过程涉及两个参数:min_gram
和 max_gram
,它们控制了生成的词项的长度范围
。文章来源:https://www.toymoban.com/news/detail-462666.html
参数 | 描述 | 默认值 |
---|---|---|
min_gram | 拆分字符的最小阈值 | 1 |
max_gram | 拆分字符的最大阈值 | 2 |
三、示例
1、默认词项的长度
# 默认生成最小长度为1且最大长度为2的N-gram
GET _analyze
{
"tokenizer": "ngram",
"text": "elastic"
}
2、指定词项的长度(自定义ngram分词器)
DELETE my_index
PUT /my_index
{
"settings": {
"index": {
"max_ngram_diff": 5
},
"analysis": {
"analyzer": {
"my_analyzer": {
"tokenizer": "my_tokenizer"
}
},
"tokenizer": {
"my_tokenizer": {
"type": "ngram",
"min_gram": 2,
"max_gram": 4
}
}
}
}
}
GET /my_index/_analyze
{
"tokenizer": "my_tokenizer",
"text": "elastic"
}
文章来源地址https://www.toymoban.com/news/detail-462666.html
到了这里,关于Elasticsearch——》ngram分词器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!