postgresql - Postgres全文搜索不适用于某些术语
问题描述
我正在使用 Postgres FTS 来实现搜索。这是我的样本tsvector
:
{'analyst':2A 'busi':1A}
我正在使用的查询是
SELECT * FROM table_name WHERE tsv @@ to_tsquery('english', 'b:*')
结果显示正确,但如果我使用'a:*'
而不是'b:*'
,
SELECT * FROM table_name WHERE tsv @@ to_tsquery('english', 'a:*')
结果是一个空集。
这是 PostgreSQL 搜索中的一些错误吗?我正在使用 PostgreSQL 版本 12.6。
解决方案
'a:' 在英语中不是有效的词位:
SELECT to_tsquery('english', 'a:')
注意:文本搜索查询仅包含停用词或不包含词位,忽略