6
我的索引中有兩個映射。其中一家以不同貨幣和其他商店的當前轉化率存儲一些金額。在每個記錄是這樣的:在彈性搜索中將動態值傳遞給腳本查詢
http://localhost:9200/transactions/amount
[{
_index: "transactions",
_type: "amount",
_id: "AVA3fjawwMA2f8TzMTbM",
_score: 1,
_source: {
balance: 1000,
currency:"usd"
}
},
{
_index: "transactions",
_type: "amount",
_id: "AVA3flUWwMA2f8TzMTbN",
_score: 1,
_source: {
balance: 2000,
currency:"inr"
}
}]
和
http://localhost:9200/transactions/conversions
{
_index: "transactions",
_type: "conversions",
_id: "rates",
_score: 1,
_source: {
"usd": 1,
"inr":62.6
}
}
我想從amount
查詢數據,並從conversions
在單個查詢申請電流的轉換率,並得到結果。
我嘗試使用腳本查詢,並能夠基於數據轉換傳遞PARAMS,如:
GET _search
{
"query": {
"match_all": {}
},
"script_fields" : {
"test1" : {
"script" : "_source.balance * factor",
"params" : {
"factor" : 63.2
}
}
}
}
但是在我的情況下通過PARAMS是從另一個查詢結果取出。
我想以共同貨幣形式顯示我在Kibana中的數據。 Kibana支持腳本查詢。據我所知,Kibana中的所有可視化都可以對應一個彈性搜索查詢,所以我沒有選擇做多個查詢。
我也嘗試探索使用https://www.elastic.co/blog/terms-filter-lookup並向結果集中的每個文檔添加一些動態字段的可能性。不過,我不認爲術語過濾器允許這樣做。