2013-03-21 48 views
1

我想在SOLR內部實現某種後備查詢機制。這就是說,如果第一次搜索呼叫沒有產生足夠的結果,我想用另一次排名再次呼叫,然後合併結果並返回。我想這可以在SOLR客戶端完成,但我希望在SOLR內部完成。通過閱讀文檔,我想我需要實現一個搜索組件,然後將其添加到「查詢」組件旁邊?任何有關這方面的參考或經驗將不勝感激。如何在SOLR內部進行另一個搜索調用

回答

0

SearchHandler調用你定義爲了所有註冊的搜索組件,並有幾個階段(準備,處理等)。 只有在分佈式處理階段(假設您使用分佈式模式)後才知道結果的數量,因此您的自定義搜索組件應檢查響應對象中結果的數量,並在必要時運行自己的查詢。 實際上,您可以爲此繼承(或包裝)一個常規的QueryComponent,以增強其流程/分佈式流程階段。