我正在使用 Rails 4.2 中的 pg_search gem 来搜索模型中的名称。 我有以下几点:
pg_search_scope :search_for_dashboard,
lambda { |q|
{
against: [:name, :email, :description],
using: {
tsearch: {
prefix: true
}
},
ignoring: :accents,
query: q
}
}
如果我输入ad
或Ad
,我会得到"Adnan"和"Adrian"的结果。 我想要的是,如果我输入an
,我也得到相同的结果。 或者,如果我输入dnan
我会得到"Adnan"。 pg_search可能吗?
我是pg_search的作者。
让后缀搜索工作的一种方法是使用三元组搜索而不是 tsearch。Trigram 搜索适用于字符串的任何部分。
或者,可以为 tsearch 添加一个类似于 prefix
的 postfix
选项,但这需要向 gem 添加新功能。