これらは私がデータベースに挿入したドキュメントです。
<biblio>
<biblioid>123</biblioid>
<mediaid>456</mediaid>
<name>dixit</name>
<title>title</title>
</biblio>
<biblio>
<biblioid>456</biblioid>
<mediaid>789</mediaid>
<name>singla</name>
<title>title1</title>
</biblio>
<media>
<mediaid>456</mediaid>
<mediaName>media1</mediaName>
<title>hello</title>
</media>
<media>
<mediaid>789</mediaid>
<mediaName>media1</mediaName>
<title>hello</title>
</media>
<media>
<mediaid>384</mediaid>
<mediaName>media2</mediaName>
<title>hello</title>
</media>
<name>
in<biblio>
が"Dixit"で<medianame>
in<media>
が"media1"のドキュメントを検索したい。
<mediaid>
ただし、と同じであるドキュメントのみをチェックする必要があります。biblio/mediaid
私たちの場合のように、結果は
<biblio>
<biblioid>123</biblioid>
<mediaid>456</mediaid>
<name>dixit</name> <!-- name is matching ("dixit")-->
<title>title</title>
</biblio>
<media>
<mediaid>456</mediaid> <!-- mediaid is same as in biblio/mediaid -->
<mediaName>media1</mediaName> <!-- medianame is matching ("media1") -->
<title>hello</title>
</media>
これを達成するには、最初に名前 (「dixit」) に一致するすべてのビブリオ ドキュメントを取得し、その結果からメディア ID (456) を抽出し、取得したメディア ID (456) とメディア名 (media1) を使用してメディア ドキュメントをクエリします。 .
しかし、これを search:search API で実現したいと考えています。
これを実現する方法はありますか?また、xml の要素間の関係を定義できる場所はありますか?