Skip to content

TentaQL (Such-Query-Language)

Der POST /Typ/Search Endpunkt verwendet für die Suche eine eigene Such-Query-Language namens TentaQL. In diesem Kapitel wird TentaQL anhand von Beispielen erklärt. Die Anleitung bezieht sich auf den Typ Geschäft. Die Funktionsweise kann analog auf allen anderen Typen angewendet werden.

Vereinfachtes Geschäfts-Modell:

Geschaeft:
- Titel (Textfeld)
- Beginn (Date)
- Dokumente (Assoziation auf Dokumente, Typ Dokument)

Suche nach einzelne Felder

Ein einfaches Feld (Text, Numeric, Datum, Enum, Boolean) hat die folgende Syntax: <FELD>[<SUCHTEXT>].

  • Beispiel: Alle Geschäfte mit einem TE im Titel: Titel[TE*]
  • Beispiel: Alle Geschäfte mit Beginndatum zwischen 01.01.2020 und 01.01.2021: Beginn[01.01.2020 - 01.01.2021]

Booleans

Booleans werden mit [yes] bzw. [no] abgefragt.

Volltext

Es kann jeweils immer über den Volltext gesucht werden: volltext[<SUCHTEXT>]

GUID

Die GUID's können bei der Suche mit einem Space oder Komma separiert werden: GUID[<GUID1>, <GUID2>, <GUID3>]

Suche nach Assoziationen

Die Syntax für eine Suche über Assoziationen ist die folgende: <FELD> contains (<Typ> WHERE <Query>) wobei <Query> eine eigene Query für den Typ der Assoziation ist.

Dokumente ist eine Assoziation auf Geschäft. Ein Geschäft kann X Dokumente haben. - Beispiel: Alle Geschäfte mit einem Dokument welches Test heisst: Dokumente contains (Dokument WHERE Titel[Test]) - Beispiel: Alle Geschäfte mit einem Dokument welches Test heisst und die Dateiendung docx hat: Dokumente contains (Dokument WHERE Titel[Test] AND Dateiendung[docx])

Zusammensetzen

Die Queries lassen sich beliebig lang zusammenketten: - AND - UND Zusammensetzung - OR - ODER Zusammensetzung

Negieren

Mit NOT kann eine Kondition negiert werden: NOT <FELD>[<SUCHTEXT]