我需要在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