Well,不要刷屏了

关于倒排索引的疑问

Elasticsearch | 作者 zjsdn | 发布于2019年07月17日 | 阅读数:1486

我有个疑问,就是存入数据进行分词倒排索引的时候,个别单个汉字没有存到倒排索引,比如我有个产品叫"仁医保" ,我进行explain的时候,发现只有医保,仁这个字并没有统计进去,应该就是没有进入倒排索引的问题,我现在的疑问是问什么这个字没有进入倒排索引呢
已邀请:

fantuan

赞同来自: zjsdn

你的搜索关键词是什么?是搜了"仁医保"还是只搜了"医保"呢?
explain是用来解释你的搜索关键词与匹配文档的相关性评分,如果你的搜索关键字里没有"仁",自然不会看到"仁"的评分结果。
如果你想看一个单词是否进了倒排索引,应该用_analyze API查看设定的解析器对该词语的分词结果。例如ik_smart解析器的分词结果如下:
{
"tokens": [
{
"token": "仁",
"start_offset": 0,
"end_offset": 1,
"type": "CN_CHAR",
"position": 0
},
{
"token": "医保",
"start_offset": 1,
"end_offset": 3,
"type": "CN_WORD",
"position": 1
}
]
}
如果_analyze的结果里没有'仁',那么有种可能是设置了自定义停用词,'仁'是一个停用词。

bellengao - 博客: https://www.jianshu.com/u/e0088e3e2127

赞同来自:

查询语句贴一下看看

HelloClyde

赞同来自:

看分词情况你得用_anlyzer,用explain咋看。。。

要回复问题请先登录注册