Postgresql Postgres全文搜索未返回预期结果
我正在尝试使用Postgres设置全文搜索,但我得到了意想不到的结果Postgresql Postgres全文搜索未返回预期结果,postgresql,full-text-search,Postgresql,Full Text Search,我正在尝试使用Postgres设置全文搜索,但我得到了意想不到的结果 选择to_tsvector('english'、'ross、john和carrie')@@to_tsquery('ross')正确,我所期望的 选择to_tsvector('english'、'ross、john和carrie')@@to_tsquery('ross和john')再次为true和expected 选择to_tsvector('english'、'ross、john和carrie')@@to_tsquery('r
选择to_tsvector('english'、'ross、john和carrie')@@to_tsquery('ross')代码>正确,我所期望的
选择to_tsvector('english'、'ross、john和carrie')@@to_tsquery('ross和john')代码>再次为true和expected
选择to_tsvector('english'、'ross、john和carrie')@@to_tsquery('ross和carrie')代码>错误?
如果我查看tsvector的结果,Carrie
会变成Carri
“carri”:4个“john”:2个“ross”:1
我假设这与英语标准化有关,但我不明白如何才能获得预期结果。解决方案非常简单
确保在ts\u查询中使用相同的语言
选择to_tsvector('english'、'ross、john和carrie')@@to_tsquery('english'、'ross和carrie')代码>两者都支持用于的附加参数。对以下两种情况使用相同的方法:
SELECT to_tsvector('english', 'ross, john and carrie')
@@ to_tsquery ('english', 'ross & carrie' );
如果省略该参数,则默认为默认设置。我打赌您的默认文本搜索配置不是'english'
。检查:
SHOW default_text_search_config;