首页 > 解决方案 > 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。

标签: postgresqlfull-text-searchpostgresql-12

解决方案


'a:' 在英语中不是有效的词位:

SELECT to_tsquery('english', 'a:')

注意:文本搜索查询仅包含停用词或不包含词位,忽略


推荐阅读