对于项目,我需要选择过滤器范围内和最接近数值的文档.这是一个价格,我似乎无法找到这是否可能.
说我有2个文件:
{
"name": "Document1",
"price": 46.12,
"tags": ["tag1", "tag2"]
}
{
"name": "Document2",
"price": 82.29,
"tags": ["tag1", "tag3"]
}
Run Code Online (Sandbox Code Playgroud)
是否有可能获得最接近66.23的价格的文件?
答案(感谢keety)是启用动态脚本并添加这样的排序方法:
{
"query": {
"filtered" : {
"query":{
"match_all" : { }
},
"filter": {}
}
},
"sort" : {
"_script" : {
"script" : "cur = (factor - doc['age'].value); if (cur < 0) { cur = cur * -1 } else { cur = cur}",
"type" : "number",
"params" : {
"factor" : 45
},
"order" : "asc"
}
}
}
Run Code Online (Sandbox Code Playgroud)
这种从最近到最远的分类,就像一个魅力.谢谢!
| 归档时间: |
|
| 查看次数: |
786 次 |
| 最近记录: |