在每个索引的小数据集上进行多索引搜索的 ElasticSearch 性能优化

Posted

技术标签:

【中文标题】在每个索引的小数据集上进行多索引搜索的 ElasticSearch 性能优化【英文标题】:ElasticSearch Performance Optimization in Multi-Index Search over a Small Data Set per Index 【发布时间】:2020-07-31 17:37:29 【问题描述】:

我们有不同的文档结构/架构,我们将它们加入到不同的弹性搜索索引中。我们有大约 50 个这样的索引,我们的主要用例之一是对所有这些文档类型(即所有 50 个索引)执行搜索。每个索引中的数据大小约为 10-20 GB,因此每个索引很容易适合单个分片。 我正在寻找优化这 50 个索引的搜索性能的方法。我们在所有这些索引中都有一个特定的公共字段,该字段可在用户的搜索请求中使用,如果每个索引有多个分片,则可以用于每个索引内的分片。不确定我们是否可以以某种方式利用它来优化此多索引搜索或任何其他替代选项的性能。

【问题讨论】:

【参考方案1】:

您需要提供更多信息才能获得具体答案,请提供以下信息。

    您的示例搜索查询及其在良好的呼叫次数中所用的平均时间。 数据节点堆大小 您在搜索查询中获取了多少文档,即大小参数。 为您的搜索查询搜索 elasticsearch 的慢日志。 集群中数据节点和每个索引副本的总数,您在哪里执行搜索查询?

【讨论】:

以上是关于在每个索引的小数据集上进行多索引搜索的 ElasticSearch 性能优化的主要内容,如果未能解决你的问题,请参考以下文章

在保持二级索引完整的同时对多索引数据框中的行进行排序

在熊猫多索引数据框中返回满足逻辑索引条件的每个组的最后一行[重复]

在多索引中移动时间以合并

删除每个索引的多索引熊猫数据帧的最低五个值

如何在不合并索引的情况下连接具有不同多索引的两个数据帧?

如何使用单个索引更新多索引数据框中的记录