0

是否可以在 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 中这样的事情是可能的吗?

4

2 回答 2

2

我相信 Solr 4.0 中可用的Join操作可能会对此有所帮助。

以下查询适用于上述情况:

http://localhost:8080/solr4b/collection1/select?q={!join%20from=title%20to=title}text:proof%20AND%20pudding
于 2012-10-04T11:55:49.970 回答
0

您可以过滤 book1 的结果,然后调用 OR 查询。这将等同于您要查找的内容。查询应如下所示:

q=proof OR concept&fq=book:book1
于 2012-10-04T11:54:23.077 回答