尝试 InnoDB 的 fulltext index,来替换 SQL 语句中得 LIKE %query% (先不用 solr 之类的第三方引擎) 并没找到很活跃的 gem 包
直接用 LIKE 检索似乎在小数据里面没什么问题,3w 数据了,1000 次,大概 1 秒左右 加个 InnoDB FULLTEXT,对于中文检索来说,能快很多嘛?MATCH () AGAINST () IN BOOLEAN MODE 在中文环境 也是用 boolean mode?
我的期待: migration 里面加
add_index :users, :name, name: 'name_idx', type: :fulltext
add_index :users, :title, name: 'title_idx', type: :fulltext
User.modal 里面加
def self.search
# TODO?
end
就可以使用:
User.search([:name, :title], '大人物')
有哪位大人物跑过类似的 benchmark 求心得。