SQLite FTS3: Suchen Sie nach einer Zeichenfolge in einer Spalte
Frage
Gibt es eine Möglichkeit, in einer Spalte nach einer bestimmten Zeichenfolge zu suchen?
Ich möchte wie ausgewählte * aus E -Mail_fts suchen, wo E -Mail_fts mit 'a@b.com "oder von:" c@d.com "' übereinstimmen.
Danke im Voraus,
Manoj
Lösung
Stellen Sie sicher, dass Sie im FTS -Index richtige FTS -Spalten erstellen:
CREATE VIRTUAL TABLE email_fts USING fts3(subject, body, "to", "from");
Und dann können Sie einzelne FTS -Spalten durchsuchen:
SELECT rowid
FROM email_fts
WHERE "to" MATCH 'a@b.com'
UNION
SELECT rowid
FROM email_fts
WHERE "from" MATCH 'c@d.com'
BEARBEITEN: Meine vorherige Antwort hatte eine OR
in dem WHERE
Klausel. Anscheinend unterstützt SQLite keine Kombination OR
Abfragen mit MATCH
Bedingungen. Die oben genannten Gewerkschaftswerke.
FTS -Dokumente sind hier, dies ist eines der Beispiele, die in den Dokumenten verwendet werden.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow