我正在寻找一种方法来在PostgreSQL中使用tsvector来模拟SELECT * FROM table WHERE attr LIKE '%text%'
之类的内容。使用全文搜索匹配以前缀结尾的短语
我已经创建了tsvector属性而不使用字典。现在,查询像...
SELECT title
FROM table
WHERE title_tsv @@ plainto_tsquery('ph:*');
...返回所有的游戏,比如“物理”,“PHP”,等等,但我怎样才能创建一个返回所有记录中,其中冠军开始查询“ Zend Fram'(它应该返回例如'Zend Framework')?
当然,我可以使用类似:
SELECT title
FROM table
WHERE title_tsv @@ to_tsquery('zend')
AND title_tsv @@ to_tsquery('fram:*');
然而,这似乎有点尴尬。
所以,问题是:有没有办法制定上述使用类似给出的查询:
SELECT title
FROM table
WHERE title_tsv @@ to_tsquery('zend fram:*');