2014-06-29 118 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: {} } }