【问题标题】:Elasticsearch keyword length more than 6Elasticsearch关键字长度超过6
【发布时间】:2018-10-12 08:06:15
【问题描述】:

我实际上想在某个日期范围内聚合索引中长度大于 6 的 a 字段的所有值。

我可以获取按该关键字分组的字段的所有值。现在,我想添加条件来检查关键字长度是否超过 6。 这是查询,直到我想出为止。

"size": 0, 
 "aggs": {
  "range":{
    "date_range": {
     "field": "timestamp",
     "ranges": [
       {
         "from": "now-1d/d",
         "to": "now"
       }
     ]
   },
   "aggs": {
     "group_by_name":{
       "terms": {
         "field": "name.keyword",
         "size": 100
       } 
     }
   }
  }
 }
}

【问题讨论】:

    标签: elasticsearch


    【解决方案1】:

    您可以使用简单的无痛脚本。查看文档aggregations

     {
        "size": 0,
          "aggs": {
            "range": {
              "date_range": {
                "field": "timestamp",
                "ranges": [
                  {
                    "from": "now-1d/d",
                    "to": "now"
                  }
                ]
              },
              "aggs": {
                "group_by_name": {
                  "terms": {
                    "script": {
                      "source": """
                            if (doc['name.keyword'].value.toString().length() > 6) {
                              return doc['name.keyword'].value;
                            }
                            """,
                      "lang": "painless"
                    },
                    "size": 100
                  }
                }
              }
            }
          }
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多