Elasticsearch - 如何在通配符字段上聚合

时间:2017-04-25 08:39:31

标签: elasticsearch aggregate wildcard

我不知道这是否可能,但我已使用* wildcard过滤地点性,fe:查找所有具有位置的行:0010020 *。返回3000行(0010020(2000行)用于城市,001002001(1000行)用于城市区分)。

“locality”上的术语聚合返回0010020 - 2000行。是否可以说聚合“使用通配符计数”并将所有3000行作为doc_count返回?

谢谢。

1 个答案:

答案 0 :(得分:0)

尝试这样做,使用query_string代替wildcardquery_stringwildcard更强大: -

{
    "_source": false,
    "query": {
        "query_string": {
            "fields": ["fieldName"],
            "query": "*fieldValue1* *fieldValue2*"
        }
    },
    "aggregations": {
        "byFieldName": {
            "terms": {
                "field": "fieldName"
            }
        }
    }
}