通过SolrNet合并Solr查询结果

时间:2014-07-27 03:39:05

标签: solr solrnet

我正在使用Sorl v3.6.1并成功设法索引数据以及使用Apache Tika索引二进制项目。我正在使用SolrNet来提取这些数据。但是我有一个问题,我希望将2个结果链接在一起。

现在考虑以下XML(这仅用于说明目的):

<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>

是否可以(通过SolrNet)将上述两个结果合并在一起,这样当用户搜索这是二进制文件的内容时,它还会返回第一项中的数据?

在我的示例中,您可以看到第一个项目包含二进制文件的ID(994832),所以我最初的想法是我需要做2个查询并以某种方式合并它们?

不确定如何做到这一点,所以任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用连接类型的查询做一些时髦的事情,但要注意性能影响。这是我之前的帖子,我试图做类似的事情。 solr grouping based on all index values

或者,一个更好的解决方案,IF,只有在你进入之前可以按一下数据。将为所有需要作为一组检索的文件分配相同的ID,根据你的例子,这将是将binaryid字段添加到第二个doc并为其分配994832值。您可以非常干净地使用Solr分组将项目分组为一个,然后将分组分组以仅返回您想要的项目。