我是Solr的新手,並且有一項任務來阻止所有搜索查詢的結果中的某些文檔。從Solr的所有搜索結果中排除特定文檔?
我搜索,發現幾種方法可以阻止結果。
- elevate.xml(https://wiki.apache.org/solr/QueryElevationComponent)
- 使用 「excludeIds」 參數在查詢(http://localhost:8983/solr/elevate?q=: & elevatedIds = doc3的,DOC4 & excludeIds =文檔6,doc8)
- 使用以下內容:
<lst name="appends">
<str name="excludeIds">doc_id_1,doc_id_2</str>
</lst>
但上述所有3種解決方案都存在限制。
elevate.xml僅適用於靜態關鍵字/搜索,因此它不適用於所有搜索。
在查詢中附加exculdeIds會增加Java代碼中Post請求的長度。
更新solrconfig.xml以追加exculdeIds會給出預期的結果,但是我們必須每次重新啓動Solr時,我們需要阻止的Id列表發生更改。
那麼有沒有辦法在所有搜索中動態阻止Solr中的文檔ID列表?
他說ID會動態變化,所以這不會工作?無論是我還是誤解了這個問題。我認爲ID會隨着每個請求而改變 – Persimmonium
@Persimmonium每當「ID」改變時,相應的「刪除」字段的文件需要更新爲「真」。然後文檔將不會自動顯示在結果中。 – Riya
這是否意味着每當更改Ids列表時,我需要在Solr中重新重新索引整個數據?或者有沒有辦法更新Solr中文檔的字段? –