Sqlite fts3: cerca una stringa in una colonna
Domanda
C'è un modo per cercare una stringa particolare in una colonna?
Voglio cercare come selezionare * da email_fts dove email_fts corrispondono a: "a@b.com" o da: "c@d.com" '
Grazie in anticipo,
Manoj
Soluzione
Assicurati di creare colonne FTS appropriate nell'indice FTS:
CREATE VIRTUAL TABLE email_fts USING fts3(subject, body, "to", "from");
E poi puoi cercare singole colonne FTS:
SELECT rowid
FROM email_fts
WHERE "to" MATCH 'a@b.com'
UNION
SELECT rowid
FROM email_fts
WHERE "from" MATCH 'c@d.com'
MODIFICARE: La mia risposta precedente aveva un OR
nel WHERE
clausola. Apparentemente SQLite non supporta la combinazione OR
domande con MATCH
condizioni. Le opere sindacali di cui sopra.
I documenti FTS sono qui, questo è uno degli esempi utilizzati nei documenti.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow