2014-05-05 38 views
0

我是Ruby on Rails的新手,以及Elasticsearch。我正在尋找一些有用的信息來幫助我將Elasticsearch的gem實現到我正在開發的應用程序中。如何使用Elasticsearch ruby​​ gems創建Ruby on Rails 4.1應用程序

應用程序需要能夠理想地使用Ajax來搜索和過濾結果。我已經閱讀了自述文檔的指南,文檔和示例,但是有些東西我無法弄清楚,或者確認我是否採取了正確的方法。

我有索引內創建的結果,我也有結果出來。我主要關注的是聚合,過濾器和方面工作,這些標準的約定是什麼?

我正在尋找一些關於從視圖中獲取此信息的方式。

我想實現一個特別的東西,是有稱爲發佈日期選擇框,有幾個選項:

  • 隨時
  • 今天(20)
  • 最後三天(50)
  • 上週(100)

中的數字表示編號屬於這個方面的文件?或聚合或過濾? - 不確定哪個是最好用的。

我還希望基於可能存在的其他過濾選項(即查詢)更新數字。

下面是一些代碼:

型號/顧慮/ searchable.rb(已包括在我的模型)

def self.search(query, options={}) 

    __set_filters = lambda do |key, f| 

    @search_definition[:filter][:and] ||= [] 
    @search_definition[:filter][:and] |= [f] 

    @search_definition[:facets][key.to_sym][:facet_filter][:and] ||= [] 
    @search_definition[:facets][key.to_sym][:facet_filter][:and] |= [f] 
    end 

    @search_definition = { 
     query: {}, 
     filter: {} 
    } 

    unless query.blank? 
     @search_definition[:query] = { 
      bool: { 
      should: [ 
       { 
       multi_match: { 
        query: query, 
        fields: ['title^10', 'content'], 
        operator: 'and' 
       } 
       } 
      ] 
      } 
     } 
    else 
     @search_definition[:query] = { match_all: {} } 
     @search_definition[:sort] = { created_at: 'desc' } 
    end 


    if options[:offset] 
     f = { 
      numeric_range: { 
       created_at: { 
        gte: "now-5d" 
       } 
      } 
     } 
    end 

     __elasticsearch__.search(@search_definition) 
    end 

Controller.rb

options = { 
     offset: params[:datecreatedoffset], 
    } 
    @jobs = Job.search(params[:q], options).results 
    respond_with @jobs 

任何幫助,非常感謝。謝謝。

回答

0

(re)tire自述:

注意:該庫已被重命名和退休2013年9月 (read the explanation)。它與 Elasticsearch 1.x不兼容。

看一看在http://github.com/elasticsearch/elasticsearch-rails 套房寶石,其中包含類似的功能集加載ActiveModel /錄音和Rails集成爲輪胎。

從這裏可以清楚地看到的果報工作者(輪胎寶石的創造者建議您使用elasticsearch-rails寶石,其中karmi自己是主動和維護寶石。

+0

謝謝,我已經看過這個,仍然看着這個,但我正在尋找一些教程和指南爲這個寶石寫的。一些東西向我展示瞭如何通過從視圖開始一直到整合過濾器(例如)以及其他事物(例如構面等)。我似乎無法找到任何涉及該類細節的信息 –

+0

@DeanAnthonyFields - 推薦異地資源超出了論壇的範圍:http://meta.stackexchange.com/questions/139399/what-exactly-is-a-recommendation-question –

+0

謝謝,我已經更新了這個問題更具體我希望 –