2014-06-29 82 views
0

当前正在使用Searchkick gem并试图找出如何同时搜索多个查询。Searchkick(elasticsearch)同时进行多个查询

我希望使用select(下拉列表)预定义搜索查询。

我的控制器看起来像目前这样:

def index 
    @application = Application.search(params[:query]) 
end 

和我的观点:

<%= form_tag search_company_path, method: :get do %> 
<p> 
    <%= label_tag :query, "Type" %> 
    <%= select_tag :query, options_for_select(['Test 1','Test 2','Test 3', 'Test 4', 'Test 5']) %> 
    <%= label_tag :query, "On location?" %> 
    <%= select_tag :query, options_for_select(['Yes', 'No', 'Either']) %> 
    <%= submit_tag "Search", name: nil %> 
</p> 
<% end %> 

这部作品以相同的运行两个select_tags:查询,但我猜,是不是非常好的编码。我也不能为后者创建label_tag。

另外,如果我执行成功的搜索它将select_tag重置为第1(测试1和是),我该如何解决这个问题?

回答

0

我在rails中使用searchkick时遇到同样的问题。 Elasticsearch公布了其正式项目

https://github.com/elasticsearch/elasticsearch-rails

这里是多个查询字符串方法的文档:elasticsearch-multiple query string elasticsearch-Rails的伴侣elasticsearch模型的项目可以帮助我们。

response = Article.search query:  { bool: { should: [match: { title: "Fox Dogs" }, 
                 match: { author: 'Will' }] } }, 
          highlight: { fields: { title: {} } }