通过SolrNet合并Solr查询结果

通过SolrNet合并Solr查询结果,solr,solrnet,Solr,Solrnet,我使用的是Sorl v3.6.1,成功地为数据编制索引,并使用ApacheTika为二进制项编制索引。我正在使用SolrNet提取这些数据。然而,我有一个问题,我想把两个结果联系在一起 现在考虑下面的XML(这只是为了说明的目的): 263 这是标题 这是总结 994832 994832 这是标题 这是总结 这是二进制文件的内容 是否有可能(通过SolrNet)将上述两个结果合并在一起,以便用户在搜索这是二进制文件的内容时也返回第一项中的数据 在我的示例中,您可以看到第一项包含二进制文件(9

我使用的是Sorl v3.6.1,成功地为数据编制索引,并使用ApacheTika为二进制项编制索引。我正在使用
SolrNet
提取这些数据。然而,我有一个问题,我想把两个结果联系在一起

现在考虑下面的XML(这只是为了说明的目的):


263
这是标题
这是总结
994832
994832
这是标题
这是总结
这是二进制文件的内容
是否有可能(通过SolrNet)将上述两个结果合并在一起,以便用户在搜索这是二进制文件的内容时也返回第一项中的数据

在我的示例中,您可以看到第一项包含二进制文件(994832)的id,因此我最初的想法是,我需要执行两个查询并以某种方式合并它们


我真的不知道如何做到这一点,所以任何帮助都将不胜感激

您可以尝试使用join类型的查询来做一些时髦的事情,但是要注意性能影响。这是我不久前写的一篇文章,当时我正试图做一些类似的事情。

或者,一个更好的解决方案,如果且仅当您可以在进入之前稍微按摩一下数据。将相同的ID分配给需要作为一个组检索的所有文档,根据您的示例,这将是向第二个文档添加binaryid字段,并为其分配994832值。您可以非常干净地使用Solr分组将项目分组为一个,然后使用分组排序只返回您想要的项目

<doc>
    <id>263</id>
    <title>This is the title</title>
    <summary>This is the summary<summary/>
    <binary_id>994832</binary_id>
</doc>
<doc>
    <id>994832</id>
    <title>This is the title</title>
    <summary>This is the summary<summary/>
    <text>this is the contents of the binary</text>
</doc>