從字符串數組返回只有一個元素我有在一個場「strArray」字符串數組:在elasticsearch
strArray: ['browser:IE', 'device:PC', 'country:USA', 'state:CA']
我需要由瀏覽器(設備,國家或州)做聚合。如果我在strArray字段中知道這些值的順序,這不是問題。
我可以使用這些結構:
"aggs": {
"deviceAggs": {
"terms": {
"script": "doc['strArray'][1]"
}
}
}
但問題是,這些插入串的順序可以不同。
我該怎麼做?我想幾種方法:
腳本 - 使用像子字符串的功能,只獲得「正確的」值。
過濾 - 可以從數組中過濾一個值(其中包含字符串「device:」)。
對strArray值進行排序以將所有值按確定的順序排序,但「排序」給了我奇怪的結果 - 只返回一個元素(沒有任何篩選)。
不要問我,爲什麼我有這樣的結構(這不是我的選擇),如果我們有結構的關鍵:價值 - 我們不會有問題。
我正在考慮對數組進行排序以獲取元素的可預測順序。 – Val
@Val我已經檢查了它 - 「排序」 - 給我奇怪的結果。已更新的問題 – yAnTar