如何获取按值字段不同的文档

How to get documents that are differents by value field

我正在使用 ElasticSearch 6.3。
场景:数十万个文档有“123”字段,其中大部分具有“blabla”值。少数人在那个领域有“blabla blo”。如果我设置 size: 10000 (如果是默认大小,它们不会出现),它们将占据查询结果的最后位置。但我真的想要两个独特的记录:一个具有这些字段“123”:“blabla”,另一个具有字段“123”:“blabla blo”。 我正在使用通配符并获取所有 10000 个文档。只需要那两个。 我打算将这些记录提供给 select 标签 HTML,但理想情况下只有两个!

查询正文:

{   
    "query": {
        "wildcard":{
            "324" : {
                "value":"*b*"
            }
        }
    },
    "size": 10000,
    "_source": ["324"]  
}

我应该怎么做?我想,这个概念类似于查找在该字段中值未完全重复的记录。 谢谢

这就是 aggs 的用途!

GET index_name/_search
{
  "query": {
    "wildcard": {
      "324": {
        "value": "*b*"
      }
    }
  },
  "size": 0,
  "aggs": {
    "324_uniques": {
      "terms": {
        "field": "324",
        "size": 10
      }
    }
  }
}

field 可能是 324324.keyword,具体取决于您的映射。