2013-02-20 84 views
2

我在Solr中有一組文檔,我通過兩個不同的requestHandlers進行搜索。一個requestHandler在內部使用,應該能夠看到所有文檔。另一個由面向公衆的搜索引擎使用。是否可以使用solrconfig.xml過濾Solr結果?

有沒有一種方法可以在我的requestHandler定義中應用fq參數,以便文檔的子集不會被返回?

在這種情況下,我只想返回「fivi」字段不爲零的文檔。

回答

5

request handler wiki page說明如何指定默認值:

<requestHandler name="/foo" class="my.package.CustomRequestHandler" /> 
    <!-- initialization args may optionally be defined here --> 
    <lst name="defaults"> 
     <int name="rows">10</int> 
     <str name="fl">*</str> 
     <str name="version">2.1</str> 
    </lst> 
    </requestHandler> 

但是,如果你不希望他們能夠覆蓋該值,則使用invariants,而不是defaultslst元素的名稱。

+2

謝謝!雖然在我的情況下,我可能會使用'appends'而不是'invariants',因爲我不想重寫整個'fq'參數,我只想確保我的'fq = -fivi:0'處於那裏。 – 2013-02-20 00:45:11

+0

只需在此添加此參考鏈接:https://wiki.apache.org/solr/SearchHandler#Configuration – arun 2013-02-20 00:50:57

相關問題