Überprüfen Sie die SQLite -FTS -Syntax (Volltextsuche) und wie Sie einen einzelnen Begriff nicht suchen

StackOverflow https://stackoverflow.com/questions/2156376

  •  23-09-2019
  •  | 
  •  

Frage

Gibt es eine Möglichkeit, festzustellen, ob eine Match -Abfrage, die an eine FTS3 -Tabelle in SQLite gesendet wurde, gültig ist? Derzeit finde ich nicht heraus, ob der Ausdruck ungültig ist, bis ich versuche, ihn auszuführen, was es ein wenig schwierig macht. Ich möchte dem Benutzer melden, dass die Syntax ungültig ist, bevor ich versucht, sie auszuführen.

Ich benutze SQLite mit der C API.

Darüber hinaus schlägt eine Suche mit dem Ausdruck "Nicht" mit einem "SQLLite -Logik-/Datenbankfehler" fehl. Googeln scheint darauf hinzudeuten, dass eine solche Abfrage ungültig ist. Gibt es eine korrekte Syntax, um die Operation durchzuführen? Ich versuche im Wesentlichen, Einträge zu finden, die diesen Begriff nicht enthalten. Oder muss ich zurückfallen, um wie einen sequentiellen Scan zu verwenden und keine FTS zu verwenden?

War es hilfreich?

Lösung

Sieht so aus, als wäre der einfachste Weg, eine separate FTS -Tabelle ohne Zeilen zu erstellen und die Abfrage dagegen auszuführen. Es wird unmittelbar sein, da in der Tabelle keine Daten vorhanden sind, und wird berichtet und Fehler, wenn die Abfragesyntax falsch ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top