以下に示すように、Elasticsearch クエリでスクリプト クエリとスクリプト フィルターを使用しています。クエリ スクリプトの計算値を保存して、並べ替えに使用して、同じ値を再度計算する必要がないようにすることはできますか? ありがとうございました。
"sort" : {
"_script" : {
"script" : "sqrt(pow((doc[l].value - l_value),2)+pow((doc[a].value - a_value),2)+pow((doc[b].value - b_value),2))",
"type" : "number",
"params" : {
"l_value" : '10',
"a_value" : '20',
"b_value" : '20'
},
"order" : "asc"
}
},
"query" : {
"filtered" : {
"filter" : {
"script" : {
"script" : "sqrt(pow((doc[l].value - l_value),2)+pow((doc[a].value - a_value),2)+pow((doc[b].value - b_value),2)) < 20",
"params" : {
"l_value" : 10,
"a_value" : 20',
"b_value" : 20.'
}
}
},
"query": {
"match_all": {}
}
}
}