我试图了解如何在Elasticsearch上优化索引。让我澄清我的需求;
indexA
indexB
所以我的问题是,如何使用这6台机器优化写入操作?
要么
和
先感谢您
这取决于情况,但是让我根据您的问题陈述得出一个方向,该结论导致了以下假设:
为了获得更好的索引性能,第一件事是您可能希望为索引使用单个分片(除非您正在使用路由)。但是由于您有6个具有单个分片的服务器,这会浪费资源,因此您可以将3个分片分配给indexA和indexB。这是针对当前方案,但建议使用约10个分片(以供将来扩展,并取决于您的数据大小)
关闭副本(如果可能,因为索引请求会等待副本响应然后返回)。尽管在生产环境中,强烈建议至少有一个副本以实现高可用性。
将刷新率设置为“ -1”或至少设置为更大的数字,例如“ 30m”。(如果这样做,您将丢失NRT搜索,但是正如您所提到的,您担心索引编制)
如果有的话,转暖圈器。
避免在字段映射中使用“ doc_values”。(尽管这样做有利于减少搜索期间的内存占用量,但它会在索引期间准备字段值,因此会增加索引时间)
如果可能/不需要,请在映射中禁用“规范”
最后阅读一下。
温馨提示:上述某些方法会影响您的搜索效果。