PostgreSQL 13中to_tsvector输入'an'无返回其余短字符串正常返回原因咨询
问题原因
该现象由PostgreSQL英文文本搜索配置的停用词过滤逻辑导致:
- Supabase提供的PostgreSQL 13默认使用
english作为文本搜索配置,to_tsvector函数未显式指定配置时会沿用该默认值。 an属于英文停用词列表中的常用冠词,文本搜索处理流程会自动剔除所有停用词,因此执行SELECT to_tsvector('an');时无结果返回。- 你测试的
nn、n、aa均不属于英文停用词,不会被过滤,因此可以正常返回tsvector结果。
验证方法
你可以使用无停用词过滤的simple文本搜索配置执行测试,即可得到预期返回:
SELECT to_tsvector('simple', 'an'); -- 返回结果为 'an':1
内容的提问来源于stack exchange,提问作者jfbaro
相关产品推荐
相关产品推荐

