2011-09-28 3 views
5

Sto tentando di utilizzare Solr per sfaccettato-seaarch su un sito Web.Come recuperare tutti i campi di faccine applicabili per una ricerca Solr

Quando un utente attiva una query di ricerca, interrogo Solr e recupera i risultati della ricerca che possono essere visualizzati.

La mia domanda è: come faccio a sapere quali campi e termini di facet sono applicabili ai risultati della ricerca?

Per essere chiari, diverse categorie di prodotti hanno campi di sfaccettatura diversi e voglio trovare un modo per riportare i campi di sfaccettatura più rilevanti per i risultati di ricerca che sono stati restituiti. Non voglio dover specificare i campi - Mi piacerebbe che Solr identificasse quelli rilevanti per me.

Grazie in anticipo!

+0

È passato molto tempo dall'ultima volta che hai richiesto questa query. Hai trovato un buon modo per sostenerlo, rispetto alle risposte qui sotto? Sto affrontando lo stesso problema, quindi ho pensato di poter condividere le tue scoperte. – Ethan

risposta

1

Suggerirei di esaminare tutti i Simple Facet Parameters sul Solr Wiki, in particolare gli esempi in basso, poiché mostreranno tutti i possibili modi per configurare i risultati della sfaccettatura per le query.

Se sto capendo correttamente la tua domanda ... per impostazione predefinita la sfaccettatura riporta solo sfaccettature/conteggi in base ai documenti nel set di risultati. Tuttavia, per rendere quelli più rilevanti per la ricerca, è necessario impostare facet.mincount su un valore diverso da quello predefinito di 0. es. &facet.mincount=1. Ma, ancora una volta, fai riferimento alla documentazione su come funziona e può essere applicata al tuo scenario.

+0

Grazie Paige - Ho letto il link in precedenza. Il mio problema è che anche quando si imposta facet.mincount - è ancora necessario specificare uno o più campi di facet: Ad esempio selezionare? Q = ipod & rows = 0 & facet = true & facet.limit = -1 & facet.field = cat & facet.mincount = 1 & facet.field = inStock (dove vorrei specificare i campi "cat" e "inStock") Mi piacerebbe sapere come posso fare una query, ma * non * specificare i campi. Vorrei che tutti i campi con conteggi positivi venissero restituiti. –

+2

Non è possibile ottenere facet senza specificare i campi su facet on. Scusa, è proprio come funziona l'applicazione. È possibile attivare la sfaccettatura per tutti i campi che * potrebbero * essere interessati e quindi eseguire una pre-elaborazione dei risultati per visualizzare solo quelli rilevanti in base ai risultati restituiti ... –

+0

ah giusto - grazie ancora . È un peccato - una volta che ho fatto una ricerca non posso essere sicuro di quali campi di faccette saranno applicabili ai risultati di ricerca restituiti. Attraverso tutta la mia gamma di prodotti ci sono molti prodotti diversi e, di conseguenza, molti campi di faccette ... Sembra che dovrò gestire una gerarchia di campi di facet separatamente in modo da sapere su quali campi mettere in risalto. Sembra che stessero considerando una sintassi con caratteri jolly - ma poi pensò che fosse un'idea abbo - https://issues.apache.org/jira/browse/SOLR-247 –

1

Ho lo stesso problema.

Quello che alla fine ho fatto è stato interrogare Solr per i primi 50 colpi per una determinata query e quindi raccogliere i nomi delle proprietà impostate su quei prodotti. Quindi faccio un'altra query con i campi della sfaccettatura impostati sulle proprietà del prodotto che ho trovato la prima volta.