You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PostgreSQL中websearch_to_tsquery为何排除字母't'?

为什么PostgreSQL的websearch_to_tsquery会移除字母't'?

这是因为PostgreSQL英语(english)全文搜索配置里的停用词列表包含了't'这个词。

在英文语境里,单独的't'通常是缩写(比如don't、it's里的后缀),被判定为无实际检索意义的停用词,所以websearch_to_tsquery处理时会自动过滤这类词:

  • 直接输入t的话,执行select websearch_to_tsquery('english', 't');会得到空结果,因为它直接被停用词规则过滤了。
  • 输入xtp t时,只有非停用词的xtp被保留,所以最终结果是xtp。
  • 用下划线连接的xtp_t,会被分词器拆成xtp和t(下划线默认是词分隔符),拆分后的t依然触发停用词规则被过滤,结果还是xtp。

而换成l时,因为l不在英语停用词列表里,所以会被正常保留,生成相邻匹配的tsquery结果'xtp' <-> 'l'。

内容的提问来源于stack exchange,提问作者magee05

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 03:55:14