這些是我在數據庫中插入的文檔。如何定義MarkLogic中xml的關係並在搜索API中使用它?
<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>
我想在<biblio>
在<media>
以搜索<name>
這些文件爲「迪克西特」和<medianame>
爲「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>
我能做到這一點,首先讓所有的文獻記錄docs匹配名稱(「dixit」),然後從結果中提取mediaid(456),然後使用提取的mediaid(456)和medianame(media1)查詢媒體文檔。
但我想通過搜索:搜索API來實現這一點。
有什麼辦法可以做到這一點嗎?有沒有什麼地方可以定義xml元素之間的關係。
我不認爲你只用一個'search:seach'調用就可以做到這一點。爲什麼要在一個查詢中混合文檔和媒體?我只能想象你可能想要出口的目的.. – grtjn