是否可以在Solr索引中的多个文档中搜索共享公共字段值并让Solr将其视为一个文档?
比方说,我将一本书的每一章上传到Solr作为单独的文档,但它们共享一个共同的字段book
,这是本书的标题。
<doc>
<field name="id">book1_chap01</field>
<field name="book">book1</field>
<field name="text">The proof is in the pudding.</field>
</doc>
<doc>
<field name="id">book1_chap02</field>
<field name="book">book1</field>
<field name="text">The concept is different than the reality.</field>
</doc>
如果您现在搜索proof AND concept
,它将不返回任何内容,因为单词出现在单独的文档中。
我希望像proof AND concept
这样的搜索对所有共享书籍值“book1”的文档执行,就好像它们是一个文档一样。
Solr有可能这样吗?
答案 0 :(得分:2)
我相信Solr 4.0提供的Join操作可能有助于此。
以下查询适用于上述内容:
http://localhost:8080/solr4b/collection1/select?q={!join%20from=title%20to=title}text:proof%20AND%20pudding
答案 1 :(得分:0)
您可以过滤book1的结果,然后调用OR查询。这将等同于您要查找的内容。查询应该如下所示:
q=proof OR concept&fq=book:book1