默认情况下 searckick 使用 es 的默认分词器,中文词语会默认拆分为单字,如“专家称在一些地方可以不戴口罩了”会逐字拆分。 searchkick 支持使用中文词干分析,中文词干 需要提前为 elasticsearch 安装 ik 插件
class Vehicle < ApplicationRecord
searchkick language: "chinese"
end
然后重新执行Vehicle.reindex
查看索引信息,看到已经使用 ik_smart 与 ik_max_word
在控制台执行一下,显示使用 searchkick_search2 与 searchkick_search2