【发布时间】:2022-01-26 10:31:45
【问题描述】:
我将 script_score 添加到我的 DSL 查询中,以根据源产品的价格提升结果。像这样:
functions":[
{
"script_score":{
"script":"if (doc['price'].size() > 0 && doc['price'].value == 1000.0) {15}"
}
}
],
这里的“1000.0”是不属于响应的一份文档的价格。为此,我必须查询 2 次,首先获取该文档的价格,然后将查询框起来,并将价格添加到查询中并提升结果,这会导致性能下降。
应该有某种方法可以使用无痛脚本来获取 id 的值,但我无法获取它。如果有人可以在这方面提供帮助,那就太好了。 蒂亚!
【问题讨论】:
-
很遗憾,无法在脚本中按 id 查找文档。
-
哦! :( 有没有其他更好的方法来实现这一点?
-
你能分享一下你为了计算出 1000 的值而进行的第一个查询吗?
-
这只是带有该源文档 ID 的 mget 请求。 GET
/_doc/100
标签: elasticsearch elasticsearch-dsl relevance