术语包括弹性搜索数值

时间:2015-12-29 19:10:06

标签: elasticsearch

我遇到的问题是,是否有办法在terms include的{​​{1}}上使用numeric field

我在弹性搜索中对多个字段使用通用查询,这很好,因为我的大部分字段都是elasticsearch aggregation,我可以使用string values指定唯一字段。但是我的一个字段是include并且抛出此错误:

numeric value

所以我的问题是,是否有一个等效于数字值的字符串匹配?我曾尝试使用"cannot support regular expression style include/exclude settings as they can only be applied to string fields" 来说比较9到9来匹配,但它没有返回任何内容,不幸的是它被指定的范围键入,而不是我想要的range set的值。任何意见都将不胜感激!

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以在array内传递数字,例如this以获得完全匹配

{
  "size": 0,
  "aggs": {
    "numeric_agg": {
      "terms": {
        "field": "my_field",
        "include": [1,2,3]
      }
    }
  }
}

希望这有帮助!