Elasticsearch-按一个字段搜索但与另一个字段不同

时间:2019-02-27 11:54:40

标签: elasticsearch

我的意思是等同于此SQL查询:

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

弹性搜索中此查询的术语汇总是什么?

1 个答案:

答案 0 :(得分:0)

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

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

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

希望这行得通