2013-10-25 56 views
0

我正在使用elasticsearch進行syslog索引,並且想要從rails應用程序中查詢elasticsearch,所以我試圖使用輪胎。輪胎(軌道上的紅寶石)正在添加我的搜索參數作爲索引,而不是查詢

這裏是結果,如果我從搜索框中搜索asa。

[REQUEST FAILED] curl -X GET 'http://localhost:9200/asa/_search?pretty' -d '{}' 

注意到asa在索引位置,如果我將它從asa更改爲_all,我會得到一個搜索。

在index.html.erb我有這樣的搜索框

<%= form_tag 'csdashboard', :method => :get do %> 
    <%= text_field_tag :query, params[:query] %> 
    <%= submit_tag 'Search logs..', name: nil %> 
<% end %> 

這裏是我的控制器。

class CsdashboardController < ApplicationController 
    def index 
    if params[:query].present? 
     @esearch = Tire.search(params[:query]) 
     render 'layouts/search' 
    else 
     render 'layouts/index' 
    end 
    end 
end 

這裏是我的search.html.erb

<%= @esearch.results.to_json do %> 
    <% end %> 
+0

你的路線是什麼樣的? (分享routes.rb的相關部分或者'rake routes'的輸出) – struthersneil

+0

你可以試試'_search?query = pretty' – struthersneil

回答

0

問這樣的問題通常會導致類似的答案:RTFM!

如果你看一下輪胎(現在退休),有下面的例子中的文件:

s = Tire.search 'articles' do 
    query do 
    string 'title:T*' 
    end 

    filter :terms, :tags => ['ruby'] 

    sort { by :title, 'desc' } 

    facet 'global-tags', :global => true do 
    terms :tags 
    end 

    facet 'current-tags' do 
    terms :tags 
    end 
end 

你注意到什麼?正確的,傳遞給search的參數是索引名稱。您提供的代碼確實如此,它使用參數來設置索引名稱。

+0

嗯,我做了RTFM,但是我猜的不夠好。謝謝,我想我正走在正確的軌道上。 – user2912426

相關問題