首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何优化弹性搜索指数化?

如何优化弹性搜索指数化?
EN

Stack Overflow用户
提问于 2015-04-27 12:51:19
回答 1查看 149关注 0票数 1

我试图了解如何在elasticsearch上优化索引。让我澄清我的需要;

  • 我现在有两个严格的指数。比方说,indexAindexB (两个指数的大小大致相同)
  • 我有6台专用于elasticsearch的机器(我们可以说是完全相同的硬件)
  • 我的elasticsearch用法中最重要的部分是写作,因为我正在做大量的实时写作。

我的问题是,我怎样才能用那6台机器来优化写作操作呢?

  • 我是否应该将机器分成两部分,比如indexA的3台机器和indexB的3台机器?
  • 我应该使用所有6台机器来索引indexAindexB吗?
  • 为了优化写操作,我还需要注意什么?

提前谢谢你

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-27 13:18:56

这要视情况而定,但请允许我按照你的问题陈述得出以下假设:

  • 您希望执行更多的写操作(不担心搜索性能)
  • 这两个索引都在同一个集群中。
  • 在未来,更多的系统可以被添加。

为了获得更好的索引性能,第一件事是,您可能希望索引只有一个碎片(除非您正在使用路由)。但是,由于您有6个服务器,只有一个碎片将浪费资源,所以您可以为每个indexA和indexB分配3个碎片。这是针对当前场景的,但建议有~10个碎片(对于将来的可伪造性和数据大小依赖)。

关闭副本(如果可能的话,索引请求在返回之前等待副本响应)。尽管在生产环境中,强烈建议至少有一个副本来实现高可用性。

将刷新速率设置为"-1“,或者至少设置到更大的数字,如”30米“。(如果这样做,您将失去NRT搜索,但正如您已经提到的,您关心索引)

如果您有任何指数暖气,请转。

避免在字段映射中使用"doc_values“。(虽然它有利于减少搜索期间的内存占用,但它在索引期间准备字段值时会增加索引时间)

如果可能/不需要,请禁用映射中的“规范”

最后阅读

警告:上面的一些方法会影响您的搜索性能。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29896332

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档