1

これらは私がデータベースに挿入したドキュメントです。

<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 の要素間の関係を定義できる場所はありますか?

4

1 に答える 1