Suchanfragen

Für die Suchen nach bestimmten Objekten wie Produkten und Benutzer steht ein Suchpresenter zur Verfügung. Diese Suchpresenter verfügen über eine Queryparser, der es erlaubt bestimmte Suchanfragen an den Server zu senden.

Die Abfragesprache ist an SQL angeleht aber es steht nicht der volle Funktionsumfang von SQL zur Verfügung. In den nachfolgenden Beispielen werden die Felder der Benutzer-API verwendet.

Einfache Feldabfragen

Bei Feldabfragen wird der Feldname gefolgt von einem Operator und einem Wert definiert. Gültige Operatoren sind: =, <, >, <=, >=, LIKE, NOT LIKE, NOT, RLIKE, IN

// Datensatz mit der UID 1 suchen
uid=1

// Alle Datensätze suchen die eine UID größer 10 haben
uid>10

// Alle Datensätze suchen die eine UID größer gleich 10 haben
uid>=10

// Alle Datensätze deren Name mit hans beginnt
name LIKE "hans%"

Die Werte einer Abfrage können Boolean (true/false), Null, eine Zahl oder eine Zeichenkette sein.

// Integer als Wert
uid=1

// Null als Wert
uid=NULL

// Zeichenkette als Wert
uid="hello"

// Boolean als Wert
uid=true

Mehrere Ausdrücke können über AND und OR verknüpft werden.

// UID größer 10 und kleiner 20
uid>10 AND UID<10

// UID kleiner 10 oder größer 20
uid<10 OR UID>10

Hinweis

Wird OR und AND gemischt, so werden alle OR Operatoren automatisch geklammert. A OR B AND C wird zu (A OR B) AND C

Facettensuche

Bei Suchanfragen die Facetten besitzen können die Namen der Facetten den Felder vorangestellt werden. Dies ist immer dann notwendig, wenn der gewünschte Feldname nicht eindeutig ist.

// Suche nach den Feldern uid in address und personal
personal.uid=10 AND address.UID=10

Funktionen

Über die Abfragesprachen können auch Funktionen definiert sein. Die Funktion IN erlaubt die Suche nache einem Wert in einer Liste .

// Alle Datensätze die in einer Liste enthalten sind
uid IN "1,2,3,4"

Kommentare