のグループを検索するには、Elastic Searchのユニークな値のみを取得しようとしています。なぜこれが動作しないのか分かりません。弾性検索固有のフィールド値
私は多くのStackOverflowに関する質問を終え、ほとんどの日にドキュメントを読んでいます。私は私のために働くようには思えない、私は最後にやったことを私は提供した。
誰かが同じ結果を繰り返し返すことを望む理由はありますか?多分、ドキュメントの異なるバージョンのために?私はすべてのmfr_id
年代のリストをしたいと思います。この例では
、及びその
mfr_desc
にも。私はこれをドキュメントフィールドの値のみを検索するための型で実行しています。それはAgg Termsがこれを達成する方法であると思われます、誰かが私が間違っている何かを見ますか?
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:約100で、私は本当に_source
を取得できるようにしたいと思いがあるとき私の結果は アグリゲーション〜10件のレコードを持っています可能であれば、単なるキー以上のフィールド。
{
"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
あなたの賛辞をありがとう:) –