轨道上的红宝石 - pg_search返回前缀和后缀的结果



我正在使用 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
      }
    }

如果我输入adAd,我会得到"Adnan"和"Adrian"的结果。 我想要的是,如果我输入an,我也得到相同的结果。 或者,如果我输入dnan我会得到"Adnan"。 pg_search可能吗?

我是pg_search的作者。

让后缀搜索工作的一种方法是使用三元组搜索而不是 tsearch。Trigram 搜索适用于字符串的任何部分。

或者,可以为 tsearch 添加一个类似于 prefixpostfix 选项,但这需要向 gem 添加新功能。

最新更新