簡體   English   中英

ElasticSearch小平面滾動周(導軌/輪胎)

[英]ElasticSearch facet rolling weeks (rails / tire)

在Rails 3.2.6中使用ElasticSearch(/ w Tire),我的Project對象上有一個構面,該構面當前顯示該項目發布在哪個月:

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

這給了我按日歷月分組的項目。 還嘗試了“周”而不是“月”,但這使我可以按日歷周分組。 理想情況下,我們希望做的是像這樣的滾動小組:

  • 最近7天
  • 最近14天
  • 最近21天

關於如何實現此目標的任何建議,使我們不僅限於日歷周,而且可以輕松地從數據中選擇相關的存儲桶? 非常感謝

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

如果是這樣,請使用一個范圍構面

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"
         }
      }
   }
}
'

使用日期數學將很有用,例如:

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

您可以改用Range Facets ,在那里您將完全控制將要使用的組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM