2013-05-17 89 views
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> 

這將是該documentReferences字段中的值的其他documents所有ids有本索引solr核心。

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

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

這可能嗎?如果能夠幫助回答這個問題,我不會在索引另一個字段時遇到問題。

回答

0

其中一個解決方案,我想的是

  1. 索引的ID與參考文件本身,這將確保如果文件不被任何其它文件引用計數將在一個肯定
  2. 搜索所有文件刻面的參考文件,然後篩選與計數1的面,這將是不被其他ID
  3. 會喜歡使用facet maxcount PARAM這將限制所指向的ID列表開箱即用的搜索結果。