使用自联接搜索多值字段

时间:2013-05-17 01:27:01

标签: search solr

我有以下(简化的)solr架构:

<schema name="documents" version="1.1">
  <uniqueKey>id</uniqueKey>
  ...
  <fields>
    <field
      name="id"
      type="string"
      indexed="true"
      stored="true"
      required="true"/>
    <field
      name="documentReferences"
      type="string"
      indexed="true"
      stored="false"
      multiValued="true"
      required="false"/>
    </fields>
</schema>

documentReferences字段中的值均为此{s}核心索引的其他ids的{​​{1}}。

我想要完成的搜索(英文):

documents

这可能吗?如果它有助于回答这个问题,我就没有问题索引另一个字段。

1 个答案:

答案 0 :(得分:0)

其中一个解决方案,我想的是

  1. 使用文档引用本身对Id进行索引,这将确保文档未被任何其他文档引用,计数肯定是肯定的
  2. 在文档引用中搜索所有文档构面,然后使用计数1过滤构面,这将是未被其他ID引用的ID列表
  3. 本来喜欢使用facet maxcount param,它会限制搜索结果的开箱即用。