Hi! I can not find how to filter date based on aggregation result in documents. btw, can i use function do this?
Thanks && Best Regard! 在 2014年9月12日,1:18,yancey <[email protected]> 写道: > Vineeth! > > Thanks for your reply! I’ll try your solution,hope this can solve my problem. > > > Thanks && Best Regard! > > > > 在 2014年9月12日,0:12,vineeth mohan <[email protected]> 写道: > >> Hello , >> >> I don't feel you can do this in a single call. >> What i have in mind would be >> >> Run a two level aggregation query with date histogram aggregation on first >> level with date and term aggregation on second with sum aggregation on prize >> field on second level. You might need to use nested aggregation also here. >> Once you get the results , choose the dates based on the criteria , i.e. sum >> of prize more than 300. With the dates you are interested in , fire the next >> query which has all interesting date ranges as range query. >> Thanks >> Vineeth >> >> On Thu, Sep 11, 2014 at 5:04 PM, 闫旭 <[email protected]> wrote: >> Anyone can help this? >> >> Thanks && Best Regard! >> >> 在 2014年9月11日,13:24,闫旭 <[email protected]> 写道: >> >>> Thank you ! But nested bool query can not plus all price with the data >>> range. how can i do this?? >>> >>> Thx again. >>> >>> Thanks && Best Regard! >>> >>> 在 2014年9月11日,12:04,vineeth mohan <[email protected]> 写道: >>> >>>> Hello , >>>> >>>> >>>> First you need to declare field details as nested. - >>>> http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/mapping-nested-type.html#mapping-nested-type >>>> >>>> Then do a bool query with the date range constrain and range constrain >>>> >>>> Thanks >>>> Vineeth >>>> >>>> On Thu, Sep 11, 2014 at 8:53 AM, 闫旭 <[email protected]> wrote: >>>> Dear All! >>>> >>>> I have a problem with a complex nested query >>>> the docs like this: >>>> _id:1 >>>> { >>>> "detail":[ >>>> { >>>> "date":"2014-09-01", >>>> "price”:50 >>>> }, >>>> { >>>> "date":"2014-09-02", >>>> "price”:100 >>>> }, >>>> { >>>> "date":"2014-09-03", >>>> "price":100 >>>> }, >>>> { >>>> "date":"2014-09-04", >>>> "price":200 >>>> } >>>> ] >>>> >>>> } >>>> _id:2 >>>> { >>>> "detail":[ >>>> { >>>> "date":"2014-09-01", >>>> "price":100 >>>> }, >>>> { >>>> "date":"2014-09-02", >>>> "price":200 >>>> }, >>>> { >>>> "date":"2014-09-03", >>>> "price":300 >>>> }, >>>> { >>>> "date":"2014-09-04", >>>> "price":200 >>>> } >>>> ] >>>> >>>> } >>>> I will filter the docs with “date in [2014-09-01, 2014-09-03] and >>>> sum(price) > 300”. >>>> I only find some way with “aggregation”, but it can only stat the sum of >>>> all docs. >>>> >>>> How Can I solve the problem?? >>>> >>>> >>>> Thanks && Best Regard! >>>> >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google Groups >>>> "elasticsearch" group. >>>> To unsubscribe from this group and stop receiving emails from it, send an >>>> email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/elasticsearch/A98354E4-9C9F-43B2-9310-6355DE3D6F85%40gmail.com. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google Groups >>>> "elasticsearch" group. >>>> To unsubscribe from this group and stop receiving emails from it, send an >>>> email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/elasticsearch/CAGdPd5kfRarPNNBctvYfHsk52tjD2rxv18aQGqq3Hz0i_2ZxVQ%40mail.gmail.com. >>>> For more options, visit https://groups.google.com/d/optout. >>> >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "elasticsearch" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elasticsearch/F5848899-E506-470B-AA05-E6A2B1965986%40gmail.com. >> >> For more options, visit https://groups.google.com/d/optout. >> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "elasticsearch" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/elasticsearch/CAGdPd5mH%2BSrgrkomvNh9-a-A5gDTjeXCO6DE8uWp32ruNbGPFA%40mail.gmail.com. >> For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "elasticsearch" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/98C8607A-47D3-4DCA-A74B-901E5F6152E1%40gmail.com. For more options, visit https://groups.google.com/d/optout.
