Domanda
E 'possibile ottenere il clustering in Solr interrogazione via SolrNet? utilizzando built-in algos. come Carrot2 ecc? Qualcuno può quota di alcuni esempi di codice o suggerimenti per procedere?
Soluzione
No, Solr il clustering non è attualmente implementato in SolrNet. Non sembra essere difficile da attuare però. Ecco uno schema di quello che ci vuole:
- Modello la risposta di Solr per i cluster come una classe (ad esempio
ClusteringResult
). Ad esempio, StatsResult modelli la risposta per lo StatsComponent. - Aggiungi un immobile per
ClusteringResult
inISolrQueryResults<T>
eSolrQueryResults<T>
- Implementare una
ISolrResponseParser<T>
per analizzare la parte della risposta XML Solr con le informazioni di clustering e caricare un oggettoClusteringResult
. Vedi parser altra risposta per riferimento. - Registrare il parser risposta nel integrato in un contenitore , il Ninject modulo , il < a href = "http://github.com/mausch/SolrNet/blob/master/Castle.Facilities.SolrNetIntegration/SolrNetFacility.cs" rel = "nofollow noreferrer"> Windsor impianto e la StructureMap registro .
- Modello i parametri coinvolti nella query come una classe (ad esempio
ClusteringParameters
). Ciò include una proprietà da carrot.algorithm specchio, un altro per carrot.url, ecc. - Aggiungere una proprietà per
ClusteringParameters
inQueryOptions
. - Serialize questo
ClusteringParameters
a querystring parametriSolrQueryExecuter
.
e, naturalmente, i test Unità per tutto. Idealmente, anche un test di integrazione.
Poi mi mandi una richiesta di pull; -)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow