请教一下 elasticsearch 中查询中文是怎么查的,添加 ik 分词器那根据官方的说明也有问题
https://github.com/medcl/elasticsearch-analysis-ik
ik_smart 把中华人民共和国国歌分成中华人民共和国,国歌,这样查到的也不是完整的字段,这个地方卡很久了,求指导
![]() | 1 junzki 2017-06-05 00:33:20 +08:00 改一下词库看看? ik 对词库依赖还是很重的。 |
![]() | 2 dangyuluo 2017-06-05 01:12:56 +08:00 善用搜索,这个问题我提过了。 总之就是索引时要用 ik_max_word, 搜索时要用 ik_smart。 这样“中华人民共和国国歌”就会以最细粒度成为一个反向查询表。搜索的时候用 ik_smart,可以粗粒度查询。 |
![]() | 3 bidongliang 2017-06-05 07:23:20 +08:00 via Android “这样查到的也不是完整的字段”是什么意思,能否再明确一下,一般情况下不建议在索引时和查询时使用不同的分析器。 |
![]() | 4 knightdf 2017-06-05 10:12:48 +08:00 建 index mapping 的时候指定了 ik 为 analyzer 吗? |
5 fangch OP @junzki 这个就是默认的 ik,我看那个好像默认配了就起作用. @dangyuluo 哦哦,谢了,大哥,能给一个问题链接吗,我搜了好多,感觉说的都不一样,所以就懵了,感觉我学的时候好杂,这里去找资料,那里去找资料,都不知道哪个是标准的 @bidongliang 就是搜索不到中华人民共和国国歌这个字段 @knightdf 这个已经指定了,但是好像还是有点问题,还是分词不太完全 |
![]() | 6 dangyuluo 2017-06-05 13:23:48 +08:00 |
![]() | 7 hwsdien 2017-06-05 14:23:49 +08:00 用 term 搜索 |
![]() | 8 bidongliang 2017-06-05 15:23:22 +08:00 你的意思是“搜索不到‘中华人民共和国国歌’这个短语吧”?用 match_phrase 就可以了。 |
9 fangch OP |