将 psql 文本列转换为 tsvector

Posted

技术标签:

【中文标题】将 psql 文本列转换为 tsvector【英文标题】:Converting psql text column to tsvector 【发布时间】:2022-01-20 01:14:45 【问题描述】:

我正在尝试使用 Rails 迁移将文本列转换为 tsvector:

change_column :people, :title, "tsvector USING title::tsvector"

它被特殊字符所吸引,例如:

ActiveRecord::StatementInvalid: PG::SyntaxError: ERROR:  syntax error in tsvector: "Project Manager: Software"

由于某种原因,如果我更新列,比如在末尾添加一个空格,然后重新运行它们迁移,它就可以工作。

任何想法为什么?到目前为止,它的字段包含::, &, í

【问题讨论】:

【参考方案1】:

to_tsvector() 用于将纯文本转换为 tsvector。

::tsvector 用于断言给定文本已经是 tsvector 的有效表示,而您的则不是。

【讨论】:

谢谢!这就是我需要的:change_column :people, :title, "tsvector USING to_tsvector(title)"

以上是关于将 psql 文本列转换为 tsvector的主要内容,如果未能解决你的问题,请参考以下文章

如何将带有html标签的一列文本转换为excel中vba中的格式化文本

如何将文本列转换为 MS SQL Express 中的整数列?

如何将HTML转换为纯文本格式Text

如何将包含单个列的文本文件转换为矩阵?

将具有日期格式的列中的所有行转换为文本格式

如何将一列文本 URL 转换为 Excel 中的活动超链接?