我正在嘗試在搜索的彈性搜索中獲得組的唯一值。我無法弄清楚爲什麼這不行爲。彈性搜索唯一字段值
我已經經歷了許多StackOverflow問題,並閱讀了大部分時間的文檔。沒有什麼似乎爲我工作,下面我提供了我最後的嘗試。
是否有任何理由有人想要一次返回相同的結果?也許是文檔的不同版本?
在這個例子中,我想所有mfr_id
的的上市,他們的mfr_desc
爲好。我正在通過一個類型運行這個來搜索文檔字段值。看來Agg條款是完成這個任務的方式,有沒有人看到我做錯了什麼?
1:API調用
GET /inventory/item/_search
{
"size": 0,
"_source": ["mfr_id", "mfr_desc"],
"aggs": {
"unique_vals": {
"terms": {
"field": "mfr_id.keyword"
/** I have to use .keyword, seems like my mappings isn't working */
}
}
}
}
2:映射文件
我做了批量導入後運行的映射是非常簡單的。我讀,如果你想有一個唯一的查詢不密鑰分析:
{
"index": "inventory",
"body": {
"settings": {
"number_of_shards": 1
},
"mappings": {
"_default_": {
"properties": {
"mfr_id": {
"type": "string",
"index": "not_analyzed"
}
}
}
}
}
}
3:我的結果 聚集了〜10個記錄時,大約有100我真的很希望能夠得到_source
如果可能的話,這些領域不僅僅是一個關鍵。
{
"took": 3,
"timed_out": false,
"_shards": {
"total": 1,
"successful": 1,
"failed": 0
},
"hits": {
"total": 49341,
"max_score": 0,
"hits": []
},
"aggregations": {
"unique_vals": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 6815,
"buckets": [
{
"key": "14",
"doc_count": 24292
},
{
"key": "33",
"doc_count": 5508
},
...
哇,謝謝!我不會試過這個。我感到驚訝的是,文件並不清晰。它沒有提供這樣的例子;或者如果確實存在,我找不到它。這很聰明,我想知道爲什麼像這樣簡單這樣的功能是如此微不足道。另外,你的個人資料中有非常好的技能。 – JREAM
感謝您的讚美:) –