私はSOLRからElasticsearchに移行しており、集計が正しく機能するように苦労しています。以下のため弾性は、単純な集計では0のバケットを返し、入れ子では0を返します。
GET /index/_search
{
"query": {
"match_all": {}
}
}
私が作りたい(:
{
"id": 1,
"title": "some title",
"profile": {
"colour": "GREY",
"brand": "SOME_BRAND",
},
"user_id": 1,
"created_at": "2017-09-09T13:54:30.304Z",
"updated_at": "2017-09-09T13:54:50.282Z",
"email": "[email protected]",
}
I できクエリ私の文書使用して:私のインデックスに
は、次のようなJSON構造に似単一の文書があり何らかの理由で)電子メールだけで集約することができます。だから私は使用:
GET /index/_search
{
"query": {
"match_all": {}
},
"aggs": {
"emails": {
"terms": {
"field": "email"
}
}
}
}
私はSOLRでこれを行うだろう場合は、メールアドレスの[email protected]と単一の文書がある場合、私は戻ってファセットを受け取ることになります。
弾性が返されます。
{
**SNIP**
"aggregations": {
"emails": {
"doc_count_error_upper_bound": 0,
"sum_other_doc_count": 0,
"buckets": []
}
}
}
私もハッシュの集計を取得したいと思います例えば
GET /index/_search
{
"query": {
"match_all": {}
},
"aggs": {
"profile_colour": {
"terms": {
"field": "profile",
"scripts": {
"inline": "doc.profile.colour"
}
}
}
}
}
しかし、再びゼロ結果:[ '色']
私が試したプロファイル。私が試したすべてのものは集計されていないようです。私は
あなたのマッピングが間違っていると思います。質問に追加できますか? –