Je cherchais (en train de créer la mienne) dans le composant de cluster par défaut de solr pour carotte2. Dans la classe, il existe 2 méthodes où clustering component les algorithmes de regroupement sont appelés:Comment fonctionne le composant de clustering solr?
dans la méthode process surchargée
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);
Et encore une fois dans la méthode finishStage
Map<SolrDocument,Integer> docIds = null; Object clusters = engine.cluster(rb.getQuery(), solrDocList, docIds, rb.req); rb.rsp.add("clusters", clusters);
Maintenant, ma question est la méthode de processus ne fonctionne pas sur le résultat complet q Mais si les résultats ont été agrégés, pourquoi appelons-nous deux fois les algorithmes de clustering et l'ajoutons à l'état du résultat?
Clustering code de composant here.
P.S Corrigez-moi si je me trompe.