gpt4 book ai didi

postgresql - 无法使用 to_tsvector 和 to_tsquery 获取包含空格的单词

转载 作者:行者123 更新时间:2023-11-29 13:17:29 31 4
gpt4 key购买 nike

我想获取用户在数据库中输入的单词:

select name 
from users
where to_tsvector(name) @@ to_tsquery('$word:*')

我提到 word = alain john smith,当我运行查询时我得到了这个错误:

syntax error in tsquery: "alain john smith"

plainto_tsquery 无法识别其输入中的 bool 运算符、权重标签或前缀匹配标签 Parsing queries

我该如何解决?

最佳答案

A tsquery不能包含 alain john smith ,因为解析器会将其拆分为三个词。

如果你有 PostgreSQL 9.6 或更高版本,你可以使用

to_tsquery('alain <-> john <-> smith')

它使用了“后跟”运算符 <-> .

在旧版本中,你能做的最好的是

to_tsquery('alain & john & smith')

这将匹配包含所有三个单词的字符串,但不一定相邻或按此顺序。

关于postgresql - 无法使用 to_tsvector 和 to_tsquery 获取包含空格的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46936417/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com