【发布时间】:2023-03-20 22:13:01
【问题描述】:
我正在寻找一种在 PostgreSQL 中使用 tsvector 来模拟 SELECT * FROM table WHERE attr LIKE '%text%' 之类的方法。
我在不使用字典的情况下创建了一个 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:*');
【问题讨论】:
-
短语搜索是您旧问题的答案吗?
标签: postgresql full-text-search pattern-matching tsvector