2016-07-26 7 views
0

Ich habe Solr Facette auf Eigenschaften von Produkten angewendet.Hybris: Kombinieren Sie verschiedene Solr-Facetten unter einem

ZB: Das Produkt kann entweder Medizin (0/1) oder Arzneimittel (0/1) oder Gift (0/1) sein. 0 bedeutet NEIN, 1 bedeutet JA.

Dies sind verschiedene Merkmale eines Produkts und erscheinen daher als unterschiedliche Facetten. Es ist möglich, sie unter einer Facette anzuzeigen, anstatt zB: „Typ“, unter denen diese drei solr Facette „Medizin“, „Drug“, „Poison“ wie angezeigt werden soll:

Type 
----- 
Medicine (50) 
Drug (100) 
Poison (75)
+0

Kann ein neues Produktattribut mit dem Typ ENUM (Medizin, Arzneimittel, Gift) erstellen. Danach machen Sie dieses Attribut als Facette. – sree

+0

Es kann kein neues Produktattribut erstellt werden. Ich denke, es gibt eine HierarchicalFaceting in Solr, in der das facet.prefix-Tag mir helfen kann zu erreichen, was ich versuche zu tun. Aber ich bin nicht sicher, wie man das in hybris implementiert. –

Antwort

0

Ich habe versucht, die hier veröffentlichten Lösungen, aber sie waren nicht meine Anforderung. Ich habe Änderungen durch Facetten-Navigations-Tag-Dateien vorgenommen, um alle Facetten des Klassifikationsattributs (Medizin, Medikament, Gift) unter eine einzige Facette (Typ) zu bringen.

0

Nicht sicher Hybris, aber Sie sollten in der Lage sein, dies mit facet queries zu tun. Sie würden eine Facettenabfrage für jede Ihrer drei Bedingungen haben. In der Benutzeroberfläche können Sie die Anzahl beliebig konfigurieren.

Ich bin mir jedoch nicht sicher, warum Sie nicht einfach ein Kategoriefeld haben können, das ein mehrwertiges Feld enthält, das Medizin und/oder Drogen- und/oder Giftwert enthält. Wenn Sie dann auf dieses Feld treten, bekommen Sie die Pannen. Wenn Ihre Werte nicht auf diese Weise kommen, können Sie sie wahrscheinlich entweder mit copyField oder mit einem benutzerdefinierten Update Request Processor chain bearbeiten, um sie zu einem Feld zusammenzuführen.

0

Das ist super einfach. Machen Sie einfach einen IndexedProperty "Type" und einen neuen benutzerdefinierten ValueProvider dafür. Dann extrahiere diese Werte basierend auf den booleschen Flags - wenn nötig nur mit hartem Code. Keine Notwendigkeit für etwas Komplexeres.

+0

In Hybris verwenden wir ClassAttributeAssignment, um das Klassifizierungsattribut für die SolrIndexed-Eigenschaft festzulegen. Es ist möglich, eine Liste von ClassAttributeAssignment zu erstellen, obwohl solr impex? Damit alle Klassifizierungsattribute unter der einzelnen SolrIndexed-Eigenschaft angezeigt werden. –

Verwandte Themen