我正在寻找一种方法来模拟SELECT * FROM table WHERE attr LIKE '%text%'
在 PostgreSQL 中使用 tsvector 之类的东西。
我在不使用字典的情况下创建了一个 tsvector 属性。现在,像...这样的查询
SELECT title
FROM table
WHERE title_tsv @@ plainto_tsquery('ph:*');
...将返回所有标题,如“Physics”、“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:*');