5

以下に示すように、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": {}
            }
        }
    }
4

0 に答える 0