带范围过滤器的弹性搜索中的问题

时间:2016-04-28 05:08:27

标签: elasticsearch filter range elasticsearch-aggregation elasticsearch.js

我正在开发Elastic Search并尝试使用angularjs UI页面中的聚合查询来获取数据,我们正在使用Elasticseach.js,Elastic.js等插件

发布请求并获得响应,除了日期范围过滤器意味着范围过滤器不起作用,一切都在我这里工作。 以下是我用于发布请求的查询: -

var filters = [ejs.RangeFilter('purchaseDate').gte(this.startDate).lte(this.endDate)];
var composedFilter = ejs.AndFilter(filters);
var myQuery = ejs.TermsAggregation('parentsku')
                                            .field(skufield.value)
                                            .order("_term", "asc")
                                           .size(0) 
                                        .agg(ejs.StatsAggregation('cost').field('directCost'))
                                        .agg(ejs.StatsAggregation('sales').field('revenu'))
                                        .agg(ejs.StatsAggregation('salesQuantity').field('salesQuantity'))
                                        .agg(ejs.StatsAggregation('quantity').field('quantity'))
                                        .agg(ejs.FilterAggregation('filtered').filter(composedFilter)); 

这里" purchaseDate"是我试图应用范围过滤器的弹性搜索索引中的字段。

它的json形式是: -

{
   "aggs":{
      "parentsku":{
         "terms":{
            "field":"parentSku",
            "order":{
               "_term":"asc"
            },
            "size":0
         },
         "aggs":{
            "cost":{
               "stats":{
                  "field":"directCost"
               }
            },
            "sales":{
               "stats":{
                  "field":"revenu"
               }
            },
            "salesQuantity":{
               "stats":{
                  "field":"salesQuantity"
               }
            },
            "quantity":{
               "stats":{
                  "field":"quantity"
               }
            },
            "filtered":{
               "filter":{
                  "and":{
                     "filters":[
                        {
                           "range":{
                              "purchaseDate":{
                                 "gte":"2016-03-01",
                                 "lte":"2016-04-10"
                              }
                           }
                        }
                     ]
                  }
               }
            }
         }
      }
   }
}

如果有人愿意,我需要帮助。

0 个答案:

没有答案