2012-07-16 206 views
0

使用ElasticSearch使用Rails 3.2.6(/ W輪胎) 我有我的項目對象上的面,顯示當前哪個月該項目被張貼在:ElasticSearch面滾動周(導軌/輪胎)

facet('timeline') { date :post_date, :interval => 'month' } 

這給了我在日曆月份中分組的項目。也嘗試過「周」而不是「月」,但這使我按日曆周分組。 理想的情況下,我們所希望做的是有滾動組這樣的:

  • 過去7天
  • 過去14天
  • 最後21天

如何這可能是任何建議實現以便我們不限於日曆周,並且可以輕鬆從數據中挑出相關的桶? 非常感謝

回答

3

您的意思是:例如:在過去7天,14天,21天更新的項目數量?

如果是這樣,使用range facet

curl -XGET 'http://127.0.0.1:9200/YOUR_INDEX/project/_search?pretty=1' -d ' 
{ 
    "query" : { 
     "match_all" : {} 
    }, 
    "facets" : { 
     "projects" : { 
     "range" : { 
      "ranges" : [ 
       { 
        "to" : "2012-07-09" 
       }, 
       { 
        "to" : "2012-07-02" 
       } 
      ], 
      "field" : "last_modified_date" 
     } 
     } 
    } 
} 
' 

這將是有益的使用date math,如:

curl -XGET 'http://127.0.0.1:9200/_search?pretty=1&search_type=count' -d ' 
{ 
    "query" : { 
     "match_all" : {} 
    }, 
    "facets" : { 
     "created" : { 
     "range" : { 
      "ranges" : [ 
       { 
        "to" : "now-7d" 
       }, 
       { 
        "to" : "now-14d" 
       } 
      ], 
      "field" : "created" 
     } 
     } 
    } 
} 
' 

但尚不支持。我已經打開了一個問題,要求它︰ https://github.com/elasticsearch/elasticsearch/issues/2102

+0

嗨,謝謝,它得到它的工作,其實日期計算可以在Rails /輪胎 – bobomoreno 2012-07-17 14:21:35