Thank you
I see this pull request is now merged on the 1.3 branch so I will try this 
feature to see if it fits our needs.

Le vendredi 23 mai 2014 15:49:51 UTC+2, Adrien Grand a écrit :
>
> You might want to do the innermost aggregation using the _uid field 
> instead of the _id field since the latter is not indexed by default. The 
> next version of Elasticsearch will feature a new aggregation called 
> top_hits (https://github.com/elasticsearch/elasticsearch/pull/6124) that 
> will allow to get the top hits per bucket. I think this is what you are 
> looking for?
>
>
> On Fri, May 23, 2014 at 3:26 PM, <[email protected] <javascript:>> wrote:
>
>> Hello David,
>>
>> The query you gave me is correct, I don't have the parsing error anymore.
>>
>> Unfortunately, it does not give the result I expected.
>> What I'm trying to get is a minimum price for each of the products, which 
>> is an aggregation for each of the products retrieved from the query.
>>
>> Do you have any advice on how to achieve this ?
>>
>> Thank you
>>
>> Le vendredi 23 mai 2014 14:52:23 UTC+2, David Pilato a écrit :
>>>
>>> I think your syntax is incorrect here. It should be something like:
>>>
>>>
>>> GET /products/_search
>>> {
>>>   "query": {
>>>     "match_all": {}
>>>   },
>>>   "aggs": {
>>>     "offers": {
>>>       "nested": {
>>>         "path": "offers"
>>>       },
>>>       "aggs": {
>>>         "min_price": {
>>>           "min": {
>>>             "field": "offers.price"
>>>           }
>>>         },
>>>         "offers_to_product": {
>>>             "reverse_nested": {
>>>               "path": "offers"
>>>             },
>>>             "aggs": {
>>>               "productId_per_offer": {
>>>                 "terms": {
>>>                   "field": "id"
>>>                 }
>>>               }
>>>             }
>>>           }
>>>       }
>>>     }
>>>   }
>>> }
>>>
>>> Not tested though.
>>>
>>> Note that offers_to_product is an aggs at the same level as min_price.
>>>
>>>  -- 
>>> *David Pilato* | *Technical Advocate* | *Elasticsearch.com*
>>> @dadoonet <https://twitter.com/dadoonet> | 
>>> @elasticsearchfr<https://twitter.com/elasticsearchfr>
>>>
>>>
>>> Le 23 mai 2014 à 14:35:19, [email protected] ([email protected]) a 
>>> écrit:
>>>
>>>  Hello, 
>>> I'm trying to use the new feature described here:
>>>  http://www.elasticsearch.org/guide/en/elasticsearch/
>>> reference/current/search-aggregations-bucket-reverse-
>>> nested-aggregation.html#search-aggregations-bucket-
>>> reverse-nested-aggregation
>>>
>>> I have a structure similar to the one described in the nested 
>>> aggregation example : http://www.elasticsearch.org/
>>> guide/en/elasticsearch/reference/current/search-
>>> aggregations-bucket-nested-aggregation.html
>>> For one product I have several resellers so I want to know the minimum 
>>> price for each product.
>>>
>>> I tried this search, similar to the documentation example:
>>>  GET /products/_search
>>> {
>>>   "query": {
>>>     "match_all": {}
>>>   },
>>>   "aggs": {
>>>     "offers": {
>>>       "nested": {
>>>         "path": "offers"
>>>       },
>>>       "aggs": {
>>>         "min_price": {
>>>           "min": {
>>>             "field": "offers.price"
>>>           }
>>>         },
>>>         "aggs": {
>>>           "offers_to_product": {
>>>             "reverse_nested": {
>>>               "path": "offers"
>>>             },
>>>             "aggs": {
>>>               "productId_per_offer": {
>>>                 "terms": {
>>>                   "field": "id"
>>>                 }
>>>               }
>>>             }
>>>           }
>>>         }
>>>       }
>>>     }
>>>   }
>>> }
>>>  
>>> I have a parsing error:
>>>  Caused by: org.elasticsearch.search.SearchParseException: 
>>> [products][4]: query[ConstantScore(*:*)],from[-1],size[-1]: Parse 
>>> Failure [Could not find aggregator type [offers_to_product] in [aggs]]
>>>         at org.elasticsearch.search.aggregations.AggregatorParsers.
>>> parseAggregators(AggregatorParsers.java:128)
>>>         at org.elasticsearch.search.aggregations.AggregatorParsers.
>>> parseAggregators(AggregatorParsers.java:120)
>>>         at org.elasticsearch.search.aggregations.AggregatorParsers.
>>> parseAggregators(AggregatorParsers.java:77)
>>>         at org.elasticsearch.search.aggregations.
>>> AggregationParseElement.parse(AggregationParseElement.java:60)
>>>  
>>> What is wrong with my request?
>>>
>>> Thank you,
>>> Stephan
>>>  --
>>> 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/8e02b4aa-606a-477d-bb2a-e0e02ee9a7a9%
>>> 40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/8e02b4aa-606a-477d-bb2a-e0e02ee9a7a9%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> 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] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/elasticsearch/e24a0b30-dfea-4a2d-8591-4102fbafcc15%40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/e24a0b30-dfea-4a2d-8591-4102fbafcc15%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> -- 
> Adrien Grand
>  

-- 
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/8644886c-3f48-4ae1-8c08-b4e78feeebc2%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to