私はElasticsearchを使用するための小さな一歩を踏み出しましたが、別の問題を調査しているときに、この質問に遭遇しました。ここで、スワトキンスはネストされたオブジェクトのクエリについて質問し、レスポンダーは、モデルを考えるとネストされたオブジェクトは必要ないと指摘しました。ここにモデルをコピーし、特定の質問を反映するためにいくつかの変更を加えました。
[{
id:4635,
description:"This is a test description",
author:"John",
author_id:51421,
meta: {
title:"This is a test title for a video",
description:"This is my video description",
url:"/url_of_video"
awesomeness-level: "pretty-awesome"
kung-fu: true
}
},
{
id:4636,
description:"This is a test description 2",
author:"John",
author_id:51421,
meta: {
title:"This is an example title for a video",
description:"This is my video description2",
url:"/url_of_video2"
kung-fu:false
monsters:true
monsters-present: "Dracula, The Mummy"
}
}]
このアプリケーションでは、ユーザーがカスタムメタデータを定義できるため、ネストされたオブジェクトを使用してそのデータを表します。一見、スワトキンスのモデルに似ているので、ネストされたオブジェクトを使うべきではないと思いました。
大きな違いは、各オブジェクトのメタが異なる可能性があることです。2番目のビデオには特に「モンスター映画」に関するメタがあり、最初のビデオは「素晴らしさのレベル」を参照しています。では、ネストされたオブジェクトを使用する必要がありますか、それともメタデータを通常のフィールドとしてマッピングするだけですか?後者を行う場合、最初のビデオには空のメタデータフィールドがありますか?それは本当に重要ですか?前もって感謝します!