elasticsearch 弹性搜索。如何在不按筛选器计算所有文档的情况下获取一个文档?,elasticsearch,elasticsearch" /> elasticsearch 弹性搜索。如何在不按筛选器计算所有文档的情况下获取一个文档?,elasticsearch,elasticsearch" />

elasticsearch 弹性搜索。如何在不按筛选器计算所有文档的情况下获取一个文档?

elasticsearch 弹性搜索。如何在不按筛选器计算所有文档的情况下获取一个文档?,elasticsearch,elasticsearch,我希望通过过滤器获取任何文档(如果存在),我不希望ElasticSearch计算有多少文档适合此过滤器 例如,有以下文档: {"name": "dima", "age": 15}, {"name": "amid", "age": 15} 我想要一个年龄为15岁的文档(大小=1),我不希望ElasticSearch浪费时间计算所有文档 我不需要这个: "hits&qu

我希望通过过滤器获取任何文档(如果存在),我不希望ElasticSearch计算有多少文档适合此过滤器

例如,有以下文档:

{"name": "dima", "age": 15},
{"name": "amid", "age": 15}
我想要一个年龄为15岁的文档(大小=1),我不希望ElasticSearch浪费时间计算所有文档

我不需要这个:

"hits": {
     "total": {
       "value": 2,
       ...
     },

您可以添加一个大小字段来告诉Elastic要返回多少文档,如果您只需要1,那么您可以在大小字段中使用1

例如:

GET my-index/_search
{
  "size": 1,
  "query": {
    "bool": {
      "filter": [
        {
          "term": {
            "age": "15"
          }
        }
      ]
    }
  }
}
或者,您也可以在查询字符串参数中指定大小 我的索引/_搜索?大小=1


我知道这并不完全是你想要的,因为你宁愿在它找到第一个后立即停止寻找,但我认为这是不可能的。。查看Elastic上的对话

你能分享一个例子来说明吗?@OpsterElasticsearchNinja done