Facette, dynamische Felder mit apache solr
Habe ich definiert dynamisches Feld, in ApacheSolr:
Ich es verwenden, um Produkte zu speichern, Funktionen wie: color_feature, diameter_feature, material_feature und so weiter. Die Anzahl dieser Felder sind nicht konstant, denn die Produkte verändern sich.
Ist es möglich, Facette Ergebnis für alle dynamischen Felder mit der gleichen Abfrage oder muss ich schreiben immer alle Felder in einer Abfrage, wie ... facet.field=color_feature&facet.field=diameter_feature&facet.field=material_feature&facet.field=
...
- es beraubt meine tags, dynamischen Feld wie folgt aussieht: dynamicField name="*_feature" type="string" indexed="true" stored="true"
- verwenden Sie die Formatierung Schaltflächen bei der Bearbeitung Ihrer Frage.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Solr derzeit keine Unterstützung von wildcards in der Facette.Feld parameter.
So
*_feature
nicht für Sie arbeiten.Mai wollen prüfen auf dieser - https://issues.apache.org/jira/browse/SOLR-247
Wenn Sie nicht wollen, um Parameter, können Sie diese ganz einfach zu Ihrem Wunsch-handler Standard.
Den
qt=requesthandler
im Antrag würde immer auch diese Facetten.War ich in einer ähnlichen situation bei der Arbeit auf einer e-commerce-Plattform. Jedes Element hatte statische Felder (
Price
,Name
,Category
), die leicht zugeordnet SOLR istschema.xml
, aber jedes Element könnte auch eine dynamische Menge von Varianten.Beispielsweise ein t-shirt in der Filiale hätte
Color
(Black
,White
,Red
usw.) undSize
(Small
,Medium
usw.) Attribute, in der Erwägung, dass eine Kerze im gleichen Speicher haben könnteScent
(Pumpkin
,Vanilla
usw.) variation. Im wesentlichen ist dies eine entity-attribute-value (EAV) relationale Datenbank-design verwendet, um zu beschreiben, einige Funktionen des Produktes.Da die
schema.xml
Datei in SOLR ist flach aus der Perspektive der Facettierung, arbeitete ich rund um es durch munging die Abweichungen in einer einzigen multi-valued-Feld ...... drängeln Daten aus der Datenbank in diese Felder als
Color|Black
,Size|Small
, undScent|Pumpkin
...... so, dass, wenn ich erzähle, SOLR, um die Facette, dann bekomme ich Ergebnisse, die Aussehen wie ...
... so, dass mein code, der analysiert diese Ergebnisse, um die Anzeige der Benutzer kann nur aufgeteilt auf meinem
|
Trennzeichen (unter der Annahme, dass weder meine Schlüssel noch Werte|
) und dann die Gruppe, indem Sie die Tasten ...... der ist gut genug für Regierung arbeiten.
Nachteil dieser Methode ist, dass Sie verlieren die Fähigkeit, eine Reihe von Facetten auf dieser EAV-Daten, aber in meinem Fall leider nicht anwenden (die
Price
Feld anwenden auf alle Elemente und wird somit definiert inschema.xml
so dass es sein kann, facettiert in der üblichen Weise).Hoffe, das jemand hilft!