Die Methode item/getSearchProposals ermöglicht die Ermittlung von Vorschlägen während einer Nutzereingabe in einem Suchfeld („Suggest“). Datengrundlage ist der auch in der item/get Methode verwendete NoSQL-Index, welcher in regelmäßigen Intervallen durch den Index-Maintainer aktualisiert wird
Eine Eingabe von „ohr“
http://dbap-demo.dstore.de/default/item/getSearchProposals?Type=Suchfeld&Input=ohr
liefert folgende Vorschläge:
<!-- Nur der relevante Teil: --> <ListOfProposals> <Proposals Field="Brand" NoOfHits="0"/> <Proposals Field="ProductDescription" NoOfHits="20"> <Proposal NoOfHits="20">Ohrenschoner (Spock-Edition)</Proposal> <Proposal NoOfHits="1">Ohrenschoner (Spock-Edition) lila/S</Proposal> <Proposal NoOfHits="1">Ohrenschoner (Spock-Edition) lila/M</Proposal> <Proposal NoOfHits="1">Ohrenschoner (Spock-Edition) gold/M</Proposal> <Proposal NoOfHits="1">Ohrenschoner (Spock-Edition) gold/XXL</Proposal> <Proposal NoOfHits="1">Ohrenschoner (Spock-Edition) rot/XXL</Proposal> <Proposal NoOfHits="1">Ohrenschoner (Spock-Edition) gold/S</Proposal> <Proposal NoOfHits="1">Ohrenschoner (Spock-Edition) rot/XL</Proposal> <Proposal NoOfHits="1">Ohrenschoner (Spock-Edition) pink/XXL</Proposal> <Proposal NoOfHits="1">Ohrenschoner (Spock-Edition) pink/L</Proposal> </Proposals> </ListOfProposals>
Soll das Ergebnis direkt mit Javascript verarbeitet werden bietet sich an, die Rückgabe direkt als JSON anzufordern:
http://dbap-demo.dstore.de/default/item/getSearchProposals?Type=Suchfeld&Input=ohr&Format=json
Die XML-Daten der Rückgabe validieren gegen das Schema Response/ItemGetSearchProposals_v1_0.xsd.
Es wird eine Konfiguration pro Suchfeld angelegt, über der Parameter „Type“ wird dann gesteuert welche dieser Konfigurationen im jeweiligen Request verwendet werden soll.
Pro Konfiguration gibt es die folgenden Einstellungen
Name | Beschreibung |
---|---|
QueryForItemProposals | Eine Query in Lucene-Query-Syntax die grundlegende Einschränkungen abbildet (z.B. schränkt +Active:true +LevelID:5 schränkt auf aktive Elemente auf Produktebene ein) |
FieldsForItemProposals | Kommagetrennte Liste von Feldern für die Vorschläge zurückgeliefert werden |
Hier eine Konfiguration die per Application-Settings-Import des admin_SmartGate eingelesen werden kann: