4

当使用短语运算符 ( ) 语法进行全文搜索时<X>,它不会像我预期的那样“小于或等于”数字。搜索值必须恰好在那么多位置之外。

给定这个例子:

select *
from (values
  ('bob is really smart, isn''t he?')
) docs(body)
where
  to_tsvector(body) @@ to_tsquery('simple', 'bob <3> smart');

使用<3>返回匹配项。但是,任何其他更大的值(即<4><5>)都不匹配。

Postgres 中是否有一些配置设置可以使用 tie-fighter?

我在 AWS 上使用 RDS Postgres 实例:PostgreSQL 9.6.11 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9), 64-bit

4

1 回答 1

3

事实证明它按预期运行。:/

曾经有一个AROUND(X)函数可以按照我的预期(小于或等于),但它看起来好像在某个时候从 Postgres 中删除了。

有一些可用的补丁可以创建<X, Y>语法,其中X是最小距离,Y是最大距离。这些在 AWS 上的 RDS 实例的上下文中是不可行的。

于 2019-12-02T21:00:56.080 回答