包含数字的ive字符串字段。
例如:minRange:“ 2500”
我的查询是:
"range": {
"minRange": {
"from": 2000,
"to": null,
"include_lower": true,
"include_upper": true
}
}
此查询不起作用。如何解决此问题?
答案 0 :(得分:0)
elasticsearch提供的RangeQuery在内部使用Lucene TermRangeQuery(据我所知,它不分析要搜索的术语)用于类型字符串的字段。另一方面,它将Lucene NumericRangeQuery用于数字/日期类型的字段。 (注意:from是“ 2000”,而不是您的问题中的2000)
$str = '{"id1527":{"stats":"true"},"id6376373":{"stats":"true"},"id63737":"stats":"true"},"x444":{"stats":"false"}}';
echo count(preg_grep("/^id(\d)+$/",array_keys(json_decode($str,true))));