作用:Intelligent search made easy with Rails and Elasticsearch

安装和启动

#gemfile
gem 'searchkick' #需要依赖elasticsearch,会在gemfile.lock中自动生成

使用

#假设对article这个model使用
class Article < ApplicationRecord
  searchkick
end

#rails c中建立索引
Article.reindex

#controller中进行使用
@articles = Article.search("demo", fields: [:name, :brand]) #第一个是索引的值,第二个是索引的字段

#典型的view
<%= form_tag(articles_path, method: :get, class: "form-inline", role: 'search') do %>
  <div class="input-group">
    <%= text_field_tag :term, params[:term] %>
    <div class="input-group-btn search-panel">
      <%= submit_tag 'Search', name: nil, class: "btn btn-default" %>
    </div>
  </div>
<% end %>

#典型的controller
def index
  search = params[:term].present? ? params[:term] : nil
  @articles = if search
    Article.search(search, fields: [:title, :content])
  else
    Article.all
  end
end

results matching ""

    No results matching ""