如何在Elasticsearch中使用查询DSL查找最近最接近的号码

如何在Elasticsearch中使用查询DSL查找最近最接近的号码,第1张

如何在Elasticsearch中使用查询DSL查找最近/最接近的号码

你去了:

  "sort": {    "_script": {      "type": "number",      "script": "return doc['price'].value-distance",      "params": {        "distance": 29      },      "lang": "groovy",      "order": "desc"    }  }

并且您需要启用动态脚本

您也可以这样

  "query": {    "function_score": {      "query": {        "bool": {          "should": [ {   "match": {     "description": "this is the text i want to find"   } }, {   "match": {     "price": 29   } }          ]        }      },      "functions": [        {          "exp": { "price": {   "origin": "29",   "scale": "1",   "decay": 0.999 }          }        }      ]    }  }

但这会改变

score
自身。如果您想按距离(而不是其他)进行纯排序,那么我相信第一个选择是最好的。



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5028262.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存