我尝试使用 postgresql-8.4 & django 实现完整/部分文本搜索
SELECT * FROM fts WHERE body_tsvector @@ plainto_tsquery('english','hello welcome')
可用记录是
'hello world'
'hello old world'
'hi welcome'
但是这个查询的结果并不像预期的那样,它显示零记录,如何使用plainto_tsquery进行部分/全文搜索?提前致谢。
我尝试使用 postgresql-8.4 & django 实现完整/部分文本搜索
SELECT * FROM fts WHERE body_tsvector @@ plainto_tsquery('english','hello welcome')
可用记录是
'hello world'
'hello old world'
'hi welcome'
但是这个查询的结果并不像预期的那样,它显示零记录,如何使用plainto_tsquery进行部分/全文搜索?提前致谢。
看起来您希望plainto_tsquery
执行|
(OR) 查询。但文档状态:
plainto_tsquery 将无格式文本 querytext 转换为 tsquery。与 to_tsvector 一样对文本进行解析和规范化,然后在幸存的单词之间插入 & (AND) 布尔运算符。
因此,要执行您想要的操作,您必须自己解析文本,然后使用|
运算符创建一个 ts_query。
SELECT * FROM fts
WHERE body_tsvector @@ to_tsquery('english','hello | welcome');