Verificando a sintaxe do sqlite fts (pesquisa de texto completo) e como fazer um único termo não pesquisar
-
23-09-2019 - |
Pergunta
Existe uma maneira de determinar se uma consulta de correspondência enviada para uma tabela FTS3 no sqlite é válida? Atualmente, não descobri se a expressão é inválida até tentar executá -la, o que a torna um pouco complicada. Eu gostaria de relatar ao usuário que a sintaxe é inválida antes mesmo de tentar executá -la.
Estou usando o SQLite com a API C.
Além disso, fazer uma pesquisa com a expressão "não" falhará com um "erro de lógica/banco de dados sqllite". O Google parece indicar que essa consulta é inválida. Existe uma sintaxe correta para fazer a operação? Estou essencialmente tentando encontrar entradas que não contêm esse termo. Ou tenho que voltar para usar e fazer uma varredura seqüencial e não usar fts?
Solução
Parece que a maneira mais simples agora é criar uma tabela FTS separada sem linhas e executar a consulta contra ela. Será imediato, pois não há dados na tabela e relatará e errará se a sintaxe da consulta estiver incorreta.