私はこのようなドキュメントを持っています(ここに2つの例があります):
{
"id": 1234,
"title": "the title",
"body": "the body",
"examples": [
{
"evidence_source": "friend",
"source_score": 15
},
{
"evidence_source": "parent",
"source_score": 12
}
]
}
と
{
"id": 6346,
"title": "new title",
"body": "lots of content",
"examples": [
{
"evidence_source": "friend",
"source_score": 10
},
{
"evidence_source": "parent",
"source_score": 27
},
{
"evidence_source": "child",
"source_score": 4
}
]
}
配列内のサブドキュメントの形式にexamples
は常にevidence_source
とsource_score
がありますが、これらのサブドキュメントの量は可変であり、それぞれ値が異なりevidence_source
ます。
source_score
特定の値に一致する値の1つに基づいて、この形式のドキュメントを並べ替えることができるかどうか疑問に思っていevidence_source
ます。私は本当にこれができるようになりたいです:
source_score
関連する場所を降順に並べ替えevidence_source
ますfriend
。結果として得られるドキュメントid
の順序は1234,6346になります。source_score
関連する場所を降順に並べ替えevidence_source
ますparent
。結果として得られるドキュメントの順序は、id
6346,1234になります。
このようなことをするために私が思いついた最も近い結果は1と2ですが、私がやりたいことを正確に達成できるとは思いません。
私がこれについてどうやって行くのかについてのアイデアはありますか?これらのサブドキュメントに個別にインデックスを付けることに基づいていくつかのアイデアを検討しましたexamples
が、elasticsearchはかなり新しいので、最も簡単な方法で目標を達成する方法についてアドバイスを探しています(これは夢のようなものかもしれません)。 ...)
更新:elasticsearchメーリングリストへの投稿は、これが不可能であることを示しているようですが、ここにいる他の誰かが別のアイデアを持っているかどうか疑問に思っています!