Ho passato ore a cercare soluzioni ai miei problemi. Ho visto persone fare domande vicine a quello che sto cercando di realizzare, ma finora nessuno sembra porre la stessa domanda. Fammi vedere se riesco a spiegarlo adeguatamente:Filtro sfaccettatura irrilevante dai risultati Solr
Dire che sono un negozio di scarpe. Sul mio sito ho tre pagine: una per le scarpe da uomo, una per le scarpe da donna e una per le scarpe per bambini. Diciamo che la mia tabella di scarpe ha il campo prod_group. Quindi per la pagina degli uomini la query sarebbe q = prod_group: men. Ora diciamo che una delle sfaccettature che voglio fornire è la marca. q = prod_group: men & filter.field = marca
Il problema che sto avendo è che i risultati della faccetta mostrano tutti i marchi nel mio database, non solo i marchi rilevanti per le scarpe da uomo. In altre parole, so già che ci sono zero scarpe da uomo nella linea "My Little Pony". Non voglio mostrare My Little Pony nella sfaccettatura del marchio. Impostare facet.mincount non è quello che mi serve. Se eseguo una query q = prod_group: men & fq = colore: rosso & filter.field = brand, il cliente desidera mostrare al consumatore che il marchio "Mighty Joe" non ha scarpe rosse quindi ho ancora bisogno di sfaccettature con un numero di faccette pari a 0.
Fondamentalmente quello che spero sono i risultati di sfaccettatura in base ai risultati della query di base. Finora l'unico modo per ottenerlo è di eseguire due query: la prima con solo la query di base e l'impostazione facet.mincount = 1 per ottenere un elenco di faccette rilevanti e quindi la query effettiva con facet.mincount di nuovo su 0 così Riesco a capire quando escludere alcune opzioni che non sono più disponibili in base alle scelte di facet già fatte.
L'esecuzione di due query sembra un po 'meno elegante. facet.pivot potrebbe aiutare a lungo termine, ma stiamo ancora usando 3.x e non vedo che cambierà presto. Ho perso qualche opzione di query/schema/configurazione che farà ciò di cui ho bisogno con una query?