【发布时间】:2021-04-22 04:38:44
【问题描述】:
以下代码:
def product =doc['value.keyword'].value;
if (Objects.isNull(product)) return false;
if (params.mustNumber == 1 && /[0-9]+\.[0-9]+/.matcher(product).matches()){
return Double.parseDouble(product)>3
} else {
return false
}
我可以找到所有大于 3 的浮点类型字符串,但不是整数
结果可搜索:
"buckets": [
{
"key": "10.00",
"doc_count": 138
},
{
"key": "8.00",
"doc_count": 126
},
{
"key": "12.00",
"doc_count": 62
},
{
"key": "5.00",
"doc_count": 49
},
{
"key": "14.30",
"doc_count": 42
},
{
"key": "9.50",
"doc_count": 38
},
{
"key": "12.50",
"doc_count": 36
}
不能搜索但应该搜索结果:
"value":"6",
"value":"8",
"value":"10",
"value":"20"
请帮帮我!!
【问题讨论】:
-
这可能是因为您的正则表达式会查找带小数的数字。为什么要使用正则表达式来检查数字?
标签: elasticsearch elasticsearch-painless