Elasticsearch集群问题
- ES集群中一个索引有20亿个文档,大概3T, 有40个分片,查询非常缓慢,平均几秒,需要如何优化?
- 应用流量正常,ES读流量在一段时间内陡然提高,原因是什么?
- 写数据的各种限制,一次提交的数据量大小?(1000-5000个文档,大小建议5-15MB,超过100M报错)
- 实现租户隔离?(X-Pack的security插件,提供索引~字段级的基于角色的访问控制)
- 如何是实现实时写入和查询?设置刷新机制为强制刷新,有没有更好的方法?(默认refresh interval是1s,近似于实时,设置为强制刷新反而增加开销,得不偿失,建议设计数据模型,减少不要的字段索引)
- 集群有三个节点,插件安装是否是否三个节点都需要安装?(yes)
- 自动创建的mapping,text.keyword后面如果需要修改,例如按照月分导致查询结果前后不一致?
- 需求中需对某些字段进行复杂条件查询,使用query_string查询速度慢,甚至超时,要如何解决?
- 副本过多,导致同步成本增加,副本同步是强一致性还是最终一致性?
- 存文档但不想分词,设计的格式在文章很长的场景中出现问题,如何解决?
- ik分词可自定义词库,新词更新滞后,或者导致对词库的热更新,是否影响读写性能?
插件--icuanalyzer
倒排索引:字段(hash替代)--次数---页码:位置
倒排索引项 =(文档ID,频率、位置、偏移)