我需要在solr索引上運行JOIN查詢。我有兩個xml,我有索引,person.xml和subject.xml。solr JOIN查詢
人:
<doc>
<field name="id">P39126</field>
<field name="family">Smith</field>
<field name="given">John</field>
<field name="subject">S1276</field>
<field name="subject">S1312</field>
</doc>
主題:
<doc>
<field name="id">S1276</field>
<field name="topic">Abnormalities, Human</field>
</doc>
我只需要從人的文檔顯示信息,但每個查詢應該與兩個人,學科領域。在查詢只匹配主題文檔的情況下,我需要顯示具有匹配ID的人員的所有文檔。這可能不會運行兩個單獨的查詢嗎?像JOIN查詢就可以完成這項工作。
任何幫助?
非常感謝帕斯卡。我不知道如何真正改變架構。我們有一些非常大的XML文件可以索引(大約4個),每個文件都有自己的模式,ID有相互連接的ID。使所有這些大XML意味着很多重複和一個巨大的XML文件。我不知道什麼更好,性能明智。進行一些額外的查詢,或者用一個巨大的xml重複一次。 – Sfairas 2010-04-14 16:32:27
我傾向於說,在大多數情況下,你不應該擔心重複,並努力讓你的主體完全非規範化。 Lucene指數相當不錯。在查詢時間,您始終可以使用fl參數來限制要返回給用戶的內容。 – 2010-04-14 17:20:05