使用pgsearch搜索半标题

时间:2018-03-14 00:08:47

标签: ruby-on-rails pg-search

我使用pgsearch进行搜索功能。 我在我的模型中写了下面的代码。

Movies.rb

pg_search_scope :search_it, :against => Movies.attribute_names,
:associated_against => {
:tags => [:name]
}

我在控制器中使用它如下:

if (params[:search].blank?)
@movies_filter = Movies.all
else
movies_filter = Movies.order(:name).search_it(params[:search])
end

现在问题是我只想在搜索到av,gers,ven时显示复仇者。如果我用复仇者搜索(全字),我会得到结果。

1 个答案:

答案 0 :(得分:1)

尝试以下

include PgSearch

pg_search_scope :search_it, against: [:attribute_names],
  associated_against: {tags: :name} 

Texticle和PgSearch

text_search方法开始变得有点混乱,如果我们搜索更多列,它只会变得更糟。幸运的是,有一颗宝石可以帮到这里。 Texticle可以更轻松地在Postgres中进行全文搜索。要使用它,我们只需要将它添加到应用程序的gemfile中,然后运行bundle进行安装。

gem 'texticle', require: 'texticle/rails'

以下是您可以看到的完整episode of Rails pg_search

希望它会有所帮助。