Verificación de la sintaxis de SQLite FTS (búsqueda de texto completo) y cómo hacer un solo término no buscar

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

  •  23-09-2019
  •  | 
  •  

Pregunta

¿Hay alguna forma de determinar si una consulta de coincidencia enviada a una tabla FTS3 en SQLite es válida? Actualmente, no descubro si la expresión no es válida hasta que intento ejecutarla, lo que lo hace un poco complicado. Me gustaría informarle al usuario que la sintaxis no es válida antes de tratar de ejecutarla.

Estoy usando SQLite con la API C.

Además, hacer una búsqueda con la expresión "no" fallará con un "error de lógica sqllite/base de datos". Google parece indicar que tal consulta no es válida. ¿Existe una sintaxis correcta para hacer la operación? Esencialmente estoy tratando de encontrar entradas que no contengan ese término. ¿O tengo que volver a usar y hacer un escaneo secuencial y no usar FTS?

¿Fue útil?

Solución

Parece que la forma más simple en este momento es crear una tabla FTS separada sin filas y ejecutar la consulta contra ella. Será inmediato ya que no hay datos en la tabla y informará y error si la sintaxis de la consulta es incorrecta.

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