2010-03-01 12 views
12

La ricerca facet viene integrata quando si imposta lo schema o si devono eseguire alcune operazioni per configurarlo?Ricerca Solr e facet

Funziona praticamente fuori dagli schemi su tutti i campi impostati per essere ordinabili?

quindi si utilizza solo la sintassi della query fq e restituirà il facet xml insieme ai risultati della ricerca?

C'è un bell'articolo su questo che ti ha aiutato per la prima volta?

risposta

18

Sì, è possibile sfogliare qualsiasi indicizzato campo fuori dalla scatola. Tuttavia potrebbe non darti i risultati che ti aspetti fino a quando non hai configure faceting fields according to your data types.

Il rivestimento è abilitato e utilizzato tramite facet.* parameters, non fq. fq viene utilizzato quando l'utente seleziona un valore facet.

Alcuni buoni tutorial Solr:

+0

@Mauricio_Scheffer conosci qualche progetto - github o codeplex - che attualmente ha una ricerca sfaccettata implementata per il benchmark - solr o lucene -! Con rispetto. –

+1

@sebastian_h il posto giusto per porre questa domanda sarebbe http://lucene.apache.org/solr/discussion.html. Ma cosa vuoi fare esattamente il punto di riferimento? Esistono dozzine di fattori nella configurazione, nell'interrogazione e nella progettazione dello schema che influiscono sulle prestazioni Solr/Lucene. –

+0

@Mauricio_Scheffer grazie per la risposta. Sono nuovo su questa area di conseguenza mi stavo chiedendo se qualsiasi progetto in C# come ad esempio è disponibile per vedere un approccio che implementa sol. Con rispetto! –

10

Sì, è sufficiente aggiungere &facet=true&facet.field={fieldname} alla vostra richiesta URL.

Ecco un altro tutorial: Faceting

+1

L'URL non è più individuabile. Puoi eventualmente sostituirlo con http://searchhub.org/2009/09/02/faceted-search-with-solr/ – paranza

+0

Grazie. Aggiornerò –

2

Il codice seguente in C#, utilizzando il pacchetto SolrNet. The Facet lo puoi fare sui campi memorizzati in SOLR, assicurati che la sua stringa e non abbia spazio per risultati migliori. Il conto è per limitare il numero minimo per essere elencati in facet.

 QueryOptions options = new QueryOptions 
     {     
      Facet = new FacetParameters 
      { 
       Queries = new ISolrFacetQuery[] 
       { 
        new SolrFacetFieldQuery("field1"), 
        new SolrFacetFieldQuery("field2") 
       }, 
       MinCount = 20 
      } 
     }; 

E il codice qui sotto per ottenere i risultati, interrogare - è la ricerca inserito nel front-end.

var result = solr.Query(query, options);