Ich arbeite mit einigen dynamischen Attributen in einem Produktkatalog, indiziert unter einem Feld (ähnlich this). Ein einfaches Beispiel würde wie folgt aussehen:Solr facettieren mit dynamischen Feldern?
{id: 1, DYN_ATT:Color||Green, DYN_ATT:Size||Small}
{id: 2, DYN_ATT:Color||Red, DYN_ATT:Size||Small}
{id: 3, DYN_ATT:Color||Green, DYN_ATT:Size||Small}
{id: 4, DYN_ATT:Color||Red, DYN_ATT:Size||Large}
Es ist jedoch unmöglich zu sein scheint Multi-Select zu ermöglichen, als ob alle diese Facetten sind.
Zum Beispiel, sagen wählt der Benutzer die Green
Farbe Facette in der Benutzeroberfläche.
[ ]Red
[ ]Green
----------
[ ]Small
[ ]Large
Die resultierenden Facetten alle möglichen Werte für Color
zeigen sollte (dem Benutzer zu ermöglichen Red
ODER Green
auszuwählen Aber sollte filtern die Size
Facette basierend auf Green
werden in einer anderen (logischen) Facette ausgewählt.
[ ]Red
[x]Green
----------
[ ]Small
gibt es eine Möglichkeit, dies zu tun? Ich habe keine Antworten gefunden und vermute, dass ein anderer Ansatz notwendig sein könnte. Leider variieren die Arten von Attributen in den Daten wild.
Keines dieser Arbeit:
fq={!tag=DYNTAG}DYN_ATT:"Color||Green"&facet.field={!ex=DYNTAG}DYN_ATT
Dies ergibt zu viele Ergebnisse für Size
. Eine Facette für [ ]Large
sollte NICHT verfügbar sein, würde aber zurückgegeben werden. Wenn der Benutzer es auswählt, sind die zwei Filter disjunkt und ergeben keine Ergebnisse.
fq={!tag=DYNTAG}DYN_ATT:"Color||Green"&facet.field=DYN_ATT
Dies zu wenige Ergebnisse liefert, ohne Red
von Facetten, so dass der Benutzer nicht in der Lage sein, um Multi-Select auf Farbe: Irgendwelche Ideen
[x]Red
[x]Green
?