Verificando a sintaxe do sqlite fts (pesquisa de texto completo) e como fazer um único termo não pesquisar

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

  •  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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top