1. ホーム
  2. json

[解決済み] Elasticsearchでネストしたオブジェクトを検索する方法

2022-02-10 12:39:54

質問

OK、今までのところ、これを理解することができませんでした。どなたかヒントが得られるといいのですが。

以下のドキュメントがある場合、ビデオタイトルに "test" が含まれるビデオを含むすべてのドキュメントを検索するにはどうすればよいでしょうか。HTTP API を使用しています。 (基本的に、エラスティックサーチでネストされたオブジェクトを検索するにはどうすればいいのでしょうか?ドキュメントがあるはずなのですが、なかなか見つからず...)

[{
    id:4635,
    description:"This is a test description",
    author:"John",
    author_id:51421,
    video: {
        title:"This is a test title for a video",
        description:"This is my video description",
        url:"/url_of_video"
    }
},
{
    id:4636,
    description:"This is a test description 2",
    author:"John",
    author_id:51421,
    video: {
        title:"This is an example title for a video",
        description:"This is my video description2",
        url:"/url_of_video2"
    }
},
{
    id:4637,
    description:"This is a test description3",
    author:"John",
    author_id:51421,
    video: {
        title:"This is a test title for a video3",
        description:"This is my video description3",
        url:"/url_of_video3"
    }
}]

解決方法は?

OK、ようやくこれらのページを見つけました。(事前にドキュメントをもっと時間をかけて見るべきでした)ビデオを保持するプロパティを type:nested に設定し、ネストされたクエリを使用するようです。

http://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-nested-query.html

http://www.elastic.co/guide/en/elasticsearch/reference/current/query-dsl-nested-filter.html

この先、誰かの役に立つことを願っています。