Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql Postgres全文搜索未返回预期结果_Postgresql_Full Text Search - Fatal编程技术网

Postgresql 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

我正在尝试使用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('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;