gpt4 book ai didi

Elasticsearch - 一个查询的每个索引计数

转载 作者:行者123 更新时间:2023-12-02 22:54:04 26 4
gpt4 key购买 nike

在一个 Elasticsearch 集群中,我有大约 30 个具有相同结构的索引。

我需要找出哪些索引会为我的查询返回至少 1 个结果。

结果本身并不重要。我将根据索引的名称做出业务逻辑决策,该索引至少包含 1 个满足搜索条件的文档。

根据输入,搜索可能会在所有索引上返回 0 到 ~10 000 000 次匹配。搜索将使用不同的输入执行约 50 000 次。

我看到了以下解决方案:

  1. 滚动使用搜索 API 并查看所有结果以找出它们来自哪个索引。这是目前正在实现的,我正在寻找更快的解决方案。
  2. 使用计数 API 并对每个索引进行计数。这将导致更多的请求。 这样会更快吗?
  3. 还有其他可能性/API 可用吗?

最佳答案

我会在 _index 元数据字段上使用 terms 桶聚合 ( https://www.elastic.co/guide/en/elasticsearch/reference/current/search-aggregations-bucket-terms-aggregation.html )。然后,我会知道哪个索引的命中率超过 1。

例如,

{
"query": { your_query },
"aggs": {
"group_by_index": {
"terms": {
"field": "_index",
"size": "30"
}
}
}
}

关于Elasticsearch - 一个查询的每个索引计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61162424/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com