2017-05-09 103 views
0

我一直在尋找(在製作我自己的過程中)到solr的carrot2的默認集羣組件。在clustering component類有2種方法,其中的聚類算法被稱爲:solr集羣組件如何工作?

  • 在重寫的過程方法

    SolrDocumentList solrDocList = SolrPluginUtils.docListToSolrDocumentList(
    results.docList, rb.req.getSearcher(), engine.getFieldsToLoad(rb.req),docIds); 
    Object clusters = engine.cluster(rb.getQuery(), solrDocList, docIds, rb.req); 
    rb.rsp.add("clusters", clusters); 
    
  • 並再次在finishStage方法

    Map<SolrDocument,Integer> docIds = null; 
    Object clusters = engine.cluster(rb.getQuery(), solrDocList, docIds, rb.req); 
    rb.rsp.add("clusters", clusters); 
    

現在我的問題是過程方法不適用於完整的結果q如果所有結果都彙總了,那麼爲什麼我們將聚類算法稱爲兩次並將其添加到結果狀態?我是否錯過了某些東西?

集羣組件代碼here

P.S 如果我錯了,請糾正我。

回答

1

對我來說看起來像一個錯誤(我發現它實際上在分佈式模式下調用兩次)。我會研究這個,看SOLR-10678來跟蹤它。