4

我有以下(简化的)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>

该字段中的值是该 solr 核心中索引documentReferences的所有ids其他值。documents

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

Documents who's id is not in any other document's documentReferences field

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

4

1 回答 1

0

我想到的解决方案之一是

  1. 用文档引用本身索引 Id,这将确保如果该文档没有被任何其他文档引用,则计数肯定是一个
  2. 在 Document references 上搜索 All Documents Facet,然后过滤计数为 1 的 facet,这将是其他 id 未引用的 id 列表
  3. 本来会喜欢使用facet maxcount参数,它会限制开箱即用的搜索结果。
于 2013-05-20T10:04:18.893 回答