ruby-on-rails - 如何检查表中的任何 ActiveRecord 中是否存在字符串?

标签 ruby-on-rails ruby-on-rails-3 postgresql heroku full-text-search

这需要全文搜索还是可以用一种方法来完成?

我有一个中文句子表,我想找到所有包含一个字符串的记录。

例如:

irb(main):007:0> Hint.all
  Hint Load (0.7ms)  SELECT "hints".* FROM "hints" 
[
    [0] #<Hint:0x007fb99c9d1900> {
                :id => 107,
          :sentence => "你叫什么名字?",
              :user => nil,
           :learned => nil,
        :created_at => Sat, 05 Jan 2013 21:04:06 UTC +00:00,
        :updated_at => Sat, 05 Jan 2013 21:04:06 UTC +00:00
    },
    [1] #<Hint:0x007fb99f2acc30> {
                :id => 108,
          :sentence => "当时有约翰做他们的助手。",
              :user => nil,
           :learned => nil,
        :created_at => Sat, 05 Jan 2013 21:04:23 UTC +00:00,
        :updated_at => Sat, 05 Jan 2013 21:04:23 UTC +00:00
    },
    [2] #<Hint:0x007fb99f2ac618> {
                :id => 109,
          :sentence => "马可和家人可能过着舒适的生活,因为他们在城里有自己的房子,家里有仆人。",
              :user => nil,
           :learned => nil,
        :created_at => Sat, 05 Jan 2013 21:19:43 UTC +00:00,
        :updated_at => Sat, 05 Jan 2013 21:19:43 UTC +00:00
    }
]

我想搜索“姓名”,它会返回 sentence 表中包含该字符串的记录列表。在这种情况下,它会在 [0] 中找到匹配项。

(如果需要全文搜索,你能推荐一些可以与中文和 heroku 一起使用的东西,尽可能接近免费吗?)

最佳答案

你能做这样的事情吗?还是我遗漏了一些关于 unicode 符号的信息?

Hint.where("sentence LIKE '%名字%'")

关于ruby-on-rails - 如何检查表中的任何 ActiveRecord 中是否存在字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14178002/

相关文章:

ruby-on-rails - 在 ActiveStorage 中保存之前获取文件名 - Rails 5.2.1

ruby-on-rails - 为什么 ruby​​ 的 '.each' 给出与使用 'for' 不同的结果?

ruby-on-rails - 如何使用用户 ID rails 4 在产品表中插入数据

ruby-on-rails - 将字符串转换为 ruby​​-on-rails 中的函数

ruby-on-rails-3 - 如何使用 Charles Proxy 从 Rails 应用程序捕获 rest-client 请求?

ruby-on-rails - Rails 3 - Delayed_Job

django - 使用简单的 JSON 字段加速 Django 和 Postgres

ruby-on-rails - Git 继续推送 .c9 文件夹,尽管它位于 .gitignore 中

postgresql - 使用 PostgreSQL 创建数据透视表

ruby-on-rails - Rails 获得最畅销的产品