【问题标题】:Elasticsearch - how to aggregate on wildcard fieldElasticsearch - 如何在通配符字段上进行聚合
【发布时间】:2017-04-25 08:39:30
【问题描述】:

我不知道这是否可能,但我使用 * 通配符 fe. 过滤位置:查找位置为 0010020* 的所有行。这将返回 3000 行(城市为 0010020(2000 行),城市区域为 001002001(1000 行))。

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

谢谢。

【问题讨论】:

    标签: elasticsearch aggregate wildcard


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 2015-07-17
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 2021-04-25
      相关资源
      最近更新 更多