2017-08-07 77 views
0

有沒有辦法將一個過濾器添加到terms聚合,所以我只得到那些以某些字符串開頭的?彈性搜索聚合開始於

我從這裏開始:

{ 
    "query": { 
    "match_all": {} 
    }, 
    "aggs": { 
    "address": { 
     "terms": { 
     "field": "address" 
     } 
    } 
    } 
} 

回答

1

使用include or exclude parameters

{ 
    "query": { 
    "match_all": {} 
    }, 
    "aggs": { 
    "address": { 
     "terms": { 
     "field": "address", 
     "include": "Main.*"  <-- add this 
     } 
    } 
    } 
} 
+0

我有這個解決的問題。如果有一個地址「Even green terrace」,它將返回「even」,「green」和「terrace」,但不是完整的值。我怎樣才能確保它只是返回值的全文? – Xhark

+1

嘗試使用'address.raw'或'address.keyword'字段(如果有的話),否則,你將不得不改變你的映射並重新索引你的數據 – Val

+0

謝謝,它像一個魅力 – Xhark