我试图了解如何在elasticsearch上优化索引。让我澄清我的需要;
indexA和indexB (两个指数的大小大致相同)我的问题是,我怎样才能用那6台机器来优化写作操作呢?
indexA的3台机器和indexB的3台机器?
或indexA和indexB吗?
和提前谢谢你
发布于 2015-04-27 13:18:56
这要视情况而定,但请允许我按照你的问题陈述得出以下假设:
为了获得更好的索引性能,第一件事是,您可能希望索引只有一个碎片(除非您正在使用路由)。但是,由于您有6个服务器,只有一个碎片将浪费资源,所以您可以为每个indexA和indexB分配3个碎片。这是针对当前场景的,但建议有~10个碎片(对于将来的可伪造性和数据大小依赖)。
关闭副本(如果可能的话,索引请求在返回之前等待副本响应)。尽管在生产环境中,强烈建议至少有一个副本来实现高可用性。
将刷新速率设置为"-1“,或者至少设置到更大的数字,如”30米“。(如果这样做,您将失去NRT搜索,但正如您已经提到的,您关心索引)
如果您有任何指数暖气,请转。
避免在字段映射中使用"doc_values“。(虽然它有利于减少搜索期间的内存占用,但它在索引期间准备字段值时会增加索引时间)
如果可能/不需要,请禁用映射中的“规范”
最后阅读这。
警告:上面的一些方法会影响您的搜索性能。
https://stackoverflow.com/questions/29896332
复制相似问题