Postgresql 仅从postgres tsvector获取1个结果
我正在使用PostgreSQL 9.3。我已经用一个名为vector的tsvector字段构建了一个数据集 然后我对它执行一个查询Postgresql 仅从postgres tsvector获取1个结果,postgresql,Postgresql,我正在使用PostgreSQL 9.3。我已经用一个名为vector的tsvector字段构建了一个数据集 然后我对它执行一个查询 SELECT id, vector, relative_path, title FROM site_server.indexed_url, plainto_tsquery('english','booking') query WHERE vector @@ query; 仅返回1行。当我查看数据时,至少有6行是匹配的。如何让它检索所有匹配的记录 数据样本中向量列中
SELECT id, vector, relative_path, title
FROM site_server.indexed_url, plainto_tsquery('english','booking') query
WHERE vector @@ query;
仅返回1行。当我查看数据时,至少有6行是匹配的。如何让它检索所有匹配的记录
数据样本中向量列中的值未标准化。在
复制时忽略该项,如
重要的是要理解tsvector类型本身并不
执行任何单词规范化;它假定给出的单词是
针对应用程序进行适当的规范化
如果您运行:
SELECT id, vector, relative_path, title
FROM site_server.indexed_url
WHERE to_tsvector(vector) @@ plainto_tsquery('english','booking') query;
我认为这将产生预期的结果。请给我们全部六个样本数据rows@VaoTsun我已经包含了一个包含所有数据的CSV文件。您是如何生成向量
列的?@VaoTsun我刚刚将文本直接插入其中。我想这还不够。我正在使用ORM进行插入,因此可能很难做更多的事情。如果您希望在插入时tsvector没有位置(+-您有什么ATM),可以添加strip(到“…”)
,或者更好的到“…”
,以确保插入的是tsvector,而不是看起来相似的文本