最近使用ES(ElasticSearch)存放了一些业务上的数据,虽然之前也使用过,但是使用规模不大,只是存储了几台测试环境的数据。在新的业务上使用时间也有快2个月了,现在对于遇到的一些问题(坑),进行总结。并且后续继续更新一些相关阅读笔记和总结。
1 中文分词相关
1.1 ES自带的分词器是不支持中文分词的,需要中文分词需要自己重新安装对应的插件,目前我们使用的IK分词器。使用IK分词器话,最好提前配置好热更新配置。否则回头再更新的话,需要重启ES。
1.2 关于热词和停用词更新。自己插入新的热词后,不会更新已有的数据(猜测是因为文档在插入的时候已经建立了对应的索引。)
2 ES默认值
2.1 ES查询默认值返回10条数据,若要返回多条可以使用size。
2.2 ES最大返回记录数据 size+from不能大于1w,否则会报错。若想查询1w条以后,可以设置index.max_result_window大于1w条。因为from+size太大排序过程会非常消息CPU、内存和宽带。如果确实需获取大量数据,也可以考虑将搜搜类型scan禁用排序,结合scr