不懂就问,初学者关于 elasticsearch 的问题

2017-06-04 21:10:54 +08:00
 fangch

请教一下 elasticsearch 中查询中文是怎么查的,添加 ik 分词器那根据官方的说明也有问题

https://github.com/medcl/elasticsearch-analysis-ik

ik_smart 把中华人民共和国国歌分成中华人民共和国,国歌,这样查到的也不是完整的字段,这个地方卡很久了,求指导

3691 次点击
所在节点    Elasticsearch
9 条回复
junzki
2017-06-05 00:33:20 +08:00
改一下词库看看? ik 对词库依赖还是很重的。
dangyuluo
2017-06-05 01:12:56 +08:00
善用搜索,这个问题我提过了。
总之就是索引时要用 ik_max_word, 搜索时要用 ik_smart。
这样“中华人民共和国国歌”就会以最细粒度成为一个反向查询表。搜索的时候用 ik_smart,可以粗粒度查询。
bidongliang
2017-06-05 07:23:20 +08:00
“这样查到的也不是完整的字段”是什么意思,能否再明确一下,一般情况下不建议在索引时和查询时使用不同的分析器。
knightdf
2017-06-05 10:12:48 +08:00
建 index mapping 的时候指定了 ik 为 analyzer 吗?
fangch
2017-06-05 12:41:28 +08:00
@junzki 这个就是默认的 ik,我看那个好像默认配了就起作用.
@dangyuluo 哦哦,谢了,大哥,能给一个问题链接吗,我搜了好多,感觉说的都不一样,所以就懵了,感觉我学的时候好杂,这里去找资料,那里去找资料,都不知道哪个是标准的
@bidongliang 就是搜索不到中华人民共和国国歌这个字段
@knightdf 这个已经指定了,但是好像还是有点问题,还是分词不太完全
dangyuluo
2017-06-05 13:23:48 +08:00
hwsdien
2017-06-05 14:23:49 +08:00
用 term 搜索
bidongliang
2017-06-05 15:23:22 +08:00
你的意思是“搜索不到‘中华人民共和国国歌’这个短语吧”?用 match_phrase 就可以了。
fangch
2017-06-05 16:24:41 +08:00
@dangyuluo ok 谢了
@hwsdien 用这个查不到的
@bidongliang ok 好的,我试试

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/365914

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX