使用最新的稳定PostgreSQL,当我使用短字符串(例如Up )执行全文搜索时,即使Up明显位于几行的一个或多个目标列中,也不会得到任何结果。例如:
SELECT title FROM things WHERE to_tsvector(title) @@ to_tsquery('Up');结果在屏幕上重复了这一行:
NOTICE: text-search query contains only stop words or doesn't contain lexemes, ignored而搜索较长的字符串会返回大量的结果。有什么办法可以避免这种情况,在不影响较长搜索的情况下执行短搜索吗?
(我正在通过SQLAlchemy和SQLAlchemy-可搜索执行查询,后者自动设置索引和触发器,但问题显然在数据库级别。)
发布于 2015-08-20 22:15:58
Up在PostgreSQL的英语词典中被认为是一个塞字,因此在全文搜索中不考虑检索。但是,您可以定义自己的字典,以包含您感兴趣的单词。看这个手册页。
在这个链接https://superuser.com/questions/479400/list-of-stopwords-in-postgres-9-1中,您可以找到秒表字典位于PostgreSQL中的位置。
https://stackoverflow.com/questions/32128456
复制相似问题