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

¿Fue útil?

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.

http://sqlite.org/fts3.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top