一般問題是,我在彈性搜索中創建了名稱/值映射,以處理潛在的巨大用戶輸入標籤 - 而不是允許人們可以創建的開放模式具有新屬性的文檔。在ElasticSearch中彙總關鍵字/值列表
我有一個彈性的搜索映射,看起來像這樣:
"Tags" : {
"properties" : {
"Value" : {
"analyzer" : "keyword",
"type" : "string"
},
"Name" : {
"analyzer" : "keyword",
"type" : "string"
}
}
},
隨着看起來像這樣
"Tags" : [
{
"Name" : "group",
"Value" : "foobar"
},
{
"Name" : "season",
"Value" : "winter"
}
],
記錄我試圖用一個彈性的搜索查詢做的是編寫一個只彙總季節條目的腳本。
...
"script" : "for (int i = 0; i < doc['Tags.Value'].values.length; i++) {
if (doc['Tags.Value'].values[i] == 'season') {
return doc['Tags.Names'].values[i]
} }"
...
我已經經歷了上述腳本的大約200個排列,它並沒有完全返回我想看到的結果。
您期待什麼輸出? – Richa