背景:
索引user有一个字段是nick_name,analyzer是ik_max_word。
1.搜古志辉能搜到数据,搜古志也能搜到古志辉这个用户。古志辉分词为古、志、辉
2.当把古志辉三个字加入到自定义词库后,重新导入古志辉这条数据到es里,搜古志辉能搜到数据,搜古志就搜不到古志辉这条数据了。古志辉分词为古志辉。
是因为什么呢?
是因为在导入数据到es的时候,已经建好倒排索引了吗?没把古志辉放入词库的时候,古、志、辉这三个字下面都有古志辉这条数据,把古志辉放入词库后,就只有古志辉这一个词下面有这条数据了,是这个原因吗?
索引user有一个字段是nick_name,analyzer是ik_max_word。
1.搜古志辉能搜到数据,搜古志也能搜到古志辉这个用户。古志辉分词为古、志、辉
2.当把古志辉三个字加入到自定义词库后,重新导入古志辉这条数据到es里,搜古志辉能搜到数据,搜古志就搜不到古志辉这条数据了。古志辉分词为古志辉。
是因为什么呢?
是因为在导入数据到es的时候,已经建好倒排索引了吗?没把古志辉放入词库的时候,古、志、辉这三个字下面都有古志辉这条数据,把古志辉放入词库后,就只有古志辉这一个词下面有这条数据了,是这个原因吗?
4 个回复
rochy - rochy_he
赞同来自: 依诺 、qw8613243
你可以建一个隐藏字段,分词器设置为 基本分词器 即可实现之前的效果。
zyb1994111
赞同来自: 依诺
loma
赞同来自: 依诺
>>
存储过程 古志辉 -> 分词 -> 古志辉 倒排索引到文档 A
查找过程 古志辉 -> 分词 -> 古志辉 根据倒排索引 找到 文档A
查找过程 志辉 -> 分词 -> "志" 和 "辉" 根据倒排索引 找到单词“志”或者“辉”所关联的文档XXX
loma
赞同来自: