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すべての値です。idsdocuments

私が達成したい検索(英語で):

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

これは可能ですか?この質問への回答に役立つ場合は、別のフィールドのインデックス作成に問題はありません。

4

1 に答える 1

0

私が考えていた解決策の1つは

  1. ドキュメント参照自体でIDにインデックスを付けます。これにより、ドキュメントが他のドキュメントによって参照されていない場合、カウントは確実に1になります
  2. ドキュメント参照ですべてのドキュメント ファセットを検索し、カウント 1 でファセットをフィルター処理します。これは、他の ID によって参照されていない ID のリストになります。
  3. すぐに使える検索の結果を制限するファセットの maxcountパラメータを使用したいと思っていました。
于 2013-05-20T10:04:18.893 に答える