2016-11-16 5 views
1

I-Daten strukturiert sind wie folgt:refinementList Erstellen von Zeichenfolge von Werten

{ 
    "id": 12345, 
    "name": "Brother PJ-663 Direct A4 Thermal Mobile Printer", 
    "type": "Thermal printer", 
    "features": "USB, Mobile Print" 
}, 

Ich versuche, ein refinementList Widget basierend auf den Werten aus dem Merkmale string (Explosions) zu erstellen, genau wie ich für Typ, aber ich bin mir nicht sicher, ob dies der richtige Ansatz oder sogar möglich ist.

Wie soll ich die Daten formatieren, um ein einziges instantsearch.widgets.refinementList Widget erstellen zu können?

Auch ich benutze stattdessen _tags und füge jedes dieser Features als ein Tag, wäre es möglich, dies zu erreichen?

Antwort

5

Der beste Weg ist (Split von ,) Ihre Daten vor der Indizierung und Index features und type als Arrays neu zu formatieren:

{ 
    "id": 12345, 
    "name": "Brother PJ-663 Direct A4 Thermal Mobile Printer", 
    "type": [ 
    "Thermal printer" 
    ], 
    "features": [ 
    "USB", 
    "Mobile Print" 
    ] 
} 

gesetzt Dann diese Attribute als Attribute für in Algolia Einstellungen Facettierung und Sie sind gut zu gehen. Sie können instantsearch.js 's refinementList widget verwenden, um Ihre Ergebnisse nach diesen Attributen zu filtern.

Ich würde nicht für _tags hier gehen, da Sie 2 verschiedene Attribute haben, die Sie zum Filtern verwenden möchten und _tags wird Ihnen nicht erlauben, es auf einfache Weise zu tun.

+0

Ich habe das schon ausprobiert, aber dann bekomme ich als Option Filter ["USB", "Mobile Print"], wo ich am liebsten mit zwei Optionen enden würde, "USB" und "Mobile Print". – Strnm

+0

Gelöst, das Problem war die Art, wie ich die Daten hochgeladen habe, danke! – Strnm

+0

Froh, dass du es geschafft hast! Glückliche Suche :) –

Verwandte Themen