Match uma frase que termina em um prefixo com pesquisa de texto completo
Estou procurando uma maneira de imitar algo comoSELECT * FROM table WHERE attr LIKE '%text%'
usando um tsvector no PostgreSQ
Eu criei um atributo tsvector sem usar um dicionário. Agora, uma consulta como ...
SELECT title
FROM table
WHERE title_tsv @@ plainto_tsquery('ph:*');
... retornaria todos os títulos como 'Physics', 'PHP' etc. etc. Mas como posso criar uma consulta que retorne todos os registros em que o título começa com 'Zend Fram' (que deve retornar, por exemplo, 'Zend Framework') ?
Claro, eu poderia usar algo como:
SELECT title
FROM table
WHERE title_tsv @@ to_tsquery('zend')
AND title_tsv @@ to_tsquery('fram:*');
No entanto, isso parece um pouco estranh
Então, a pergunta é: existe uma maneira de formular a consulta dada acima usando algo como:
SELECT title
FROM table
WHERE title_tsv @@ to_tsquery('zend fram:*');