我遇到的问题是,是否有办法在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
的值。任何意见都将不胜感激!
谢谢!
答案 0 :(得分:2)
您可以在array
内传递数字,例如this以获得完全匹配
{
"size": 0,
"aggs": {
"numeric_agg": {
"terms": {
"field": "my_field",
"include": [1,2,3]
}
}
}
}
希望这有帮助!