微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 Elastic 中搜索多个索引时限制每个索引的大小

如何解决在 Elastic 中搜索多个索引时限制每个索引的大小

我一直在遵循这篇文章中的指导方针。我可以获得所需的输出,但在同一个 DSL 中如何限制每个索引的结果大小?

Full text Search with Multiple index in Elastic Search using NEST C#

POST http://localhost:9200/componenttypeindex%2Cprojecttypeindex/Componenttype%2CProjecttype/_search?pretty=true&typed_keys=true     
{
  "query": {
    "bool": {
      "should": [
        {
          "bool": {
            "filter": [
              {
                "term": {
                  "_index": {
                    "value": "componenttypeindex"
                  }
                }
              }
            ],"must": [
              {
                "multi_match": {
                  "fields": [
                    "Componentname","Summary^1.1"
                  ],"operator": "or","query": "test"
                }
              }
            ]
          }
        },{
          "bool": {
            "filter": [
              {
                "term": {
                  "_index": {
                    "value": "projecttypeindex"
                  }
                }
              }
            ],"must": [
              {
                "multi_match": {
                  "fields": [
                    "Projectname","Summary^0.3"
                  ],"query": "test"
                }
              }
            ]
          }
        }
      ]
    }
  }
}

解决方法

对于给定的查询,您可以使用聚合对每个索引的命中数进行分组和限制(在这种情况下,限制为 5):

{
  "size": 0,"query": {
    ... Same query as above ...
  },"aggs": {
    "index_agg": {
      "terms": {
        "field": "_index","size": 20
      },"aggs": {
        "hits_per_index": {
          "top_hits": {
            "size": 5
          }
        }
      }
    }
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?