Rails Postgresql to_tsvector() 函数的 activeRecord 版本

Rails activeRecord version for to_tsvector() function of Postgresql

我的数据库中有一个 TSVECTOR 列,我想通过 Rails 回调而不是触发器来更新此列。我想知道是否有 ActiveRecord 代码可以实现这一点。到目前为止,我是通过手动执行原始 SQL 来做到这一点的,它看起来不太好。

ActiveRecord::Base.connection.execute("update my_table set tsvector_document = to_tsvector('english', #{string_tokens}) where id = #{id}")

我想知道是否有更好的方法来做到这一点而不使用原始 SQL。

提前致谢。

我最终使用了 rails' PG 搜索插件来处理这个 TS 向量转换。

PgSearch.multisearch_options = {
  using: {
    tsearch: {
      prefix: true,
      dictionary: 'english',
      tsvector_column: 'vector_column_name_here'
    },
    trigram: {
      threshold: 0.2
    }
  }
}