Sqlite fts3: busque una cadena en una columna
Pregunta
¿Hay alguna forma de buscar una cadena en particular en una columna?
Quiero buscar como seleccionar * de correo electrónico_fts donde coinciden con email_fts 'a: "a@b.com" o de: "c@d.com"'
Gracias por adelantado,
Manoj
Solución
Asegúrese de crear columnas FTS adecuadas en el índice FTS:
CREATE VIRTUAL TABLE email_fts USING fts3(subject, body, "to", "from");
Y luego puede buscar columnas FTS individuales:
SELECT rowid
FROM email_fts
WHERE "to" MATCH 'a@b.com'
UNION
SELECT rowid
FROM email_fts
WHERE "from" MATCH 'c@d.com'
EDITAR: Mi respuesta anterior tuvo un OR
en el WHERE
cláusula. Aparentemente SQLite no es compatible con la combinación OR
consultas con MATCH
condiciones. El sindicato anterior funciona.
Los documentos FTS están aquí, este es uno de los ejemplos utilizados en los documentos.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow