Hi Stephan,

The bug has been fixed, can you try out a new build?

Martijn


On 30 May 2014 09:45, Martijn v Groningen <[email protected]>
wrote:

> This is indeed a bug, thanks for sharing it! This should be easy to fix.
>
>
> On 27 May 2014 11:35, <[email protected]> wrote:
>
>> Hello,
>> I tried the new top_hots aggregation and made it work on denormalized
>> data.
>>
>> However, when I tries to add a filter I ran into the following exception:
>>
>> [2014-05-27 11:32:12,869][DEBUG][action.search.type       ] [Cap 'N Hawk]
>> failed to reduce search
>> org.elasticsearch.action.search.ReduceSearchPhaseException: Failed to
>> execute phase [fetch], [reduce]
>>         at
>> org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.finishHim(TransportSearchQueryThenFetchAction.java:141)
>>         at
>> org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction$1.onResult(TransportSearchQueryThenFetchAction.java:113)
>>         at
>> org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction$1.onResult(TransportSearchQueryThenFetchAction.java:107)
>>         at
>> org.elasticsearch.search.action.SearchServiceTransportAction$23.run(SearchServiceTransportAction.java:526)
>>         at
>> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>>         at
>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>>         at java.lang.Thread.run(Thread.java:745)
>> Caused by: java.lang.NullPointerException
>>         at
>> org.apache.lucene.search.TopDocs$ScoreMergeSortQueue.<init>(TopDocs.java:89)
>>         at org.apache.lucene.search.TopDocs.merge(TopDocs.java:219)
>>         at org.apache.lucene.search.TopDocs.merge(TopDocs.java:209)
>>         at
>> org.elasticsearch.search.aggregations.bucket.tophits.InternalTopHits.reduce(InternalTopHits.java:107)
>>         at
>> org.elasticsearch.search.aggregations.InternalAggregations.reduce(InternalAggregations.java:146)
>>         at
>> org.elasticsearch.search.aggregations.bucket.InternalSingleBucketAggregation.reduce(InternalSingleBucketAggregation.java:82)
>>         at
>> org.elasticsearch.search.aggregations.InternalAggregations.reduce(InternalAggregations.java:146)
>>         at
>> org.elasticsearch.search.aggregations.bucket.terms.InternalTerms$Bucket.reduce(InternalTerms.java:77)
>>         at
>> org.elasticsearch.search.aggregations.bucket.terms.InternalTerms.reduce(InternalTerms.java:157)
>>         at
>> org.elasticsearch.search.aggregations.bucket.terms.InternalTerms.reduce(InternalTerms.java:37)
>>         at
>> org.elasticsearch.search.aggregations.InternalAggregations.reduce(InternalAggregations.java:146)
>>         at
>> org.elasticsearch.search.controller.SearchPhaseController.merge(SearchPhaseController.java:386)
>>         at
>> org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.innerFinishHim(TransportSearchQueryThenFetchAction.java:152)
>>         at
>> org.elasticsearch.action.search.type.TransportSearchQueryThenFetchAction$AsyncAction.finishHim(TransportSearchQueryThenFetchAction.java:139)
>>         ... 6 more
>>
>>
>> Here are the gists used to create the data:
>>
>>    - mapping : https://gist.github.com/stephlag/f9402c699374438c3ede
>>    - data: https://gist.github.com/stephlag/ecb5b2dc384a3f07602d
>>    - queries: https://gist.github.com/stephlag/7ad8edf1ab6b757be3b3
>>
>>
>>
>> Le vendredi 23 mai 2014 18:05:18 UTC+2, [email protected] a écrit :
>>
>>> 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]> 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/referenc
>>>>>> e/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/g
>>>>>> uide/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%40goo
>>>>>> glegroups.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].
>>>>> 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/ffe90554-8a54-45e9-8ee9-9457ffd658bf%40googlegroups.com
>> <https://groups.google.com/d/msgid/elasticsearch/ffe90554-8a54-45e9-8ee9-9457ffd658bf%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>
> --
> Met vriendelijke groet,
>
> Martijn van Groningen
>



-- 
Met vriendelijke groet,

Martijn van Groningen

-- 
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/CA%2BA76Tw5VGJuXF8hE4r98S3_--qA8Eps8kvvZ2Of53-Y%3DDmVFw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to