【问题标题】:Elasticsearch - Search by a field but distinct another fieldElasticsearch - 按字段搜索但区分另一个字段
【发布时间】:2019-02-27 20:41:27
【问题描述】:

我的意思是相当于这个 SQL 查询:

SELECT distinct fieldA
from DB
where fieldB like '%value%'

弹性搜索中此查询的术语聚合是什么?

【问题讨论】:

标签: elasticsearch


【解决方案1】:

您可以结合使用wildcard 查询和terms 聚合来获取字段的不同值。

您可以使用以下查询来获取结果。

POST test/_search
{
  "query": {
    "wildcard": {
      "fieldB": {
        "value": "*ali*"
      }
    }
  },
  "aggs": {
    "distinct_fieldA": {
      "terms": {
        "field": "fieldA",
        "size": 10
      }
    }
  }
}

希望这可行

【讨论】:

  • tnx 为您提供帮助!但这也将返回所有行!即使我将大小更改为 0 仍然相同
猜你喜欢
  • 2018-10-12
  • 2020-10-29
  • 1970-01-01
  • 2018-12-22
  • 1970-01-01
  • 2021-12-06
  • 2021-03-10
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多