我们正在使用Elastic进行非常有效的搜索,但一次简单的搜索似乎要花费约800毫秒的时间。这是当我们直接使用Elastic API进行点击时。

我们有3个节点的群集,其中一个作为主节点,另两个作为数据节点。我们只有一个具有一种数据类型的索引,因为所有项目都是相同的。在那我们大约有800万条记录。我们有5个主要碎片和2个副本碎片。

我的查询是:

在一种索引/类型中具有800万个索引的

  • 可能会导致这种情况?我应该考虑将其拆分吗?
  • 我们总是打主节点进行读写,我应该考虑调用数据节点进行读取吗?
  • 还有什么我应该考虑做其他事才能获得更好的性能?

  • 在此先感谢。

    最佳答案

  • 一个索引中的800万个文档并不多,但这取决于您计算机的硬件规格(可以随意更新您的问题)
  • 您应该永远不要击中主节点来搜索您的文档,而要直接搜索其中一个数据节点。主节点仅用于管理群集,而绝不充当处理查询的客户端/协调节点
  • 只有两个数据节点,您不需要2个副本分片,只有一个足够
  • 关于elasticsearch - Elasticsearch 集群的性能问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46260743/

    10-12 00:34