当使用短语运算符( <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 中是否有一些配置设置可以使用领带战斗机?
我正在 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
最佳答案
事实证明它按预期运行。 :/
曾经有一个AROUND(X)
函数的功能符合我的预期(小于或等于),但看起来它在某个时候已从 Postgres 中删除。
有一些可用的补丁可以创建 <X, Y>
语法,其中 X
是最小距离,Y
是最大距离。这些在 AWS 上的 RDS 实例上下文中不可行。
关于postgresql - Postgres 全文搜索 : Phrase Operator (<x>) distance is looking for an exact distance match,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59146600/