Estoy buscando una forma de emular algo como SELECT * FROM table WHERE attr LIKE '%text%'
usando un tsvector en PostgreSQL.Coincidir con una frase que termina en un prefijo con búsqueda de texto completo
He creado un atributo tsvector sin utilizar un diccionario. Ahora, una consulta como ...
SELECT title
FROM table
WHERE title_tsv @@ plainto_tsquery('ph:*');
... volverían todos los títulos como 'Física', 'PHP', etc, pero ¿cómo puedo crear una consulta que devuelve todos los registros en los que el título comienza con ' Zend Fram '(¿cuál debería devolver, por ejemplo,' Zend Framework ')?
Por supuesto, podría usar algo como:
SELECT title
FROM table
WHERE title_tsv @@ to_tsquery('zend')
AND title_tsv @@ to_tsquery('fram:*');
Sin embargo, esto parece un poco incómodo.
Entonces, la pregunta es: ¿hay una manera de formular la consulta dada anteriormente usando algo como:
SELECT title
FROM table
WHERE title_tsv @@ to_tsquery('zend fram:*');