我正在使用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个查询并以某种方式合并它们?
不确定如何做到这一点,所以任何帮助将不胜感激。
答案 0 :(得分:0)
您可以尝试使用连接类型的查询做一些时髦的事情,但要注意性能影响。这是我之前的帖子,我试图做类似的事情。 solr grouping based on all index values
或者,一个更好的解决方案,IF,只有在你进入之前可以按一下数据。将为所有需要作为一组检索的文件分配相同的ID,根据你的例子,这将是将binaryid字段添加到第二个doc并为其分配994832值。您可以非常干净地使用Solr分组将项目分组为一个,然后将分组分组以仅返回您想要的项目。