Skip to main content
Skip table of contents

PrepareTextForFTSSearch()

PrepareTextForFTSSearch() – Optimiert einen Suchtext für die Suche anhand eines FTS-Index


Diese Funktion optimiert einen übergebenen Text für eine Volltextsuche (Full-Text-Search = FTS). Dabei werden die Einzelnen Suchbegriffe anhand des für den FTS-Index definierten Trennzeichen getrennt.

Hinweis

  • Tabulatoren, doppelte Leerzeichen, Zeilenumbrüche, ignorierte Wörter (Noise-Words) und Format-Tags werden entfernt

  • als Basis dient die FTS-Index-Definition des übergebenen Feldes (s. Datenbank-Verwaltung / Indexdefinitionen) oder der mit cFTSIndexName vorgegebene FTS-Index

Parameter

Beschreibung

nWorkArea:N

Workarea der Tabelle oder Null, falls ein Feld-Objekt übergeben wird

uFieldName:U

Feldname oder Feld-Objekt (Workarea = 0)

cText:C

Original-Text

cFTSIndexName:C

Vorgabe für den FTS-Index, dann wird dieser nicht anhand des Feld-Namens ermittelt

lLeadingWildcard:L

Platzhalter * am Anfang jedes Suchbegriffes anhängen

lTrailingWildcard:L

Platzhalter * am Ende jedes Suchbegriffes anhängen

cOperator:C

Verknüpfungsoperator (AND & OR erlaubt, leer entspricht AND)

lResultAsContains:L

Rückgabe als ferigen Contains-Ausdruck ( CONTAINS(FELD, 'SUCHE') )

Rückgabewert


Alphanumerisch

Beispiel

CODE
| oDAB065:DB:='waDAB065, DAB066', oText, cSeachText|

DbLocate('Memo_ID', 17466, , oDAB065),
cSeachText := 'Suche <nach Test* und ABC!?',

oText := PrepareTextForFTSSearch(waDAB065,                  // Für Tabelle 9 = Memos
                                 'SUCHE',                   // Für Ziel-Feld "SUCHE"
                                 cSeachText,                // Suchtext
                                 'SUCHE_FTS',               // FTS-Index
                                 False,                     // Platzhalter am Anfang
                                 True,                      // Platzhalter am Ende
                                 'AND',                     // Verknüpfungsoperator
                                 True),                     // Rückgabe als CONTAINS

// CONTAINS(SUCHE, 'ABC* AND nach* AND Suche* AND Test* AND und*')
WriteLn(oText),

Weitere Verknüpfungen

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.