:) great that it works out

On 19 August 2014 20:26, Dan Tuffery <[email protected]> wrote:

> I should have looked at the documentation first :) it is  'doc.score'.
>
>
> http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-scripting.html#_score
>
>
> On Tuesday, August 19, 2014 7:07:18 PM UTC+1, Dan Tuffery wrote:
>>
>> Hi Martijn,
>>
>> Thanks for your response, that seems like the right approach. The problem
>> I am seeing now is that the metrics aggregation is always returning 0. Even
>> if I remove top_hits out of the query the metrics aggregation still returns
>> alwyas 0, so something is quite right?  Here is a simplified example:
>>
>> {
>>   "query": {
>>     "match": {
>>       "r_message": "some text"
>>     }
>>   },
>>   "aggs": {
>>     "replies": {
>>       "terms": {
>>         "field": "myField",
>>         "order": {
>>           "top_score": "desc"
>>         }
>>       },
>>       "aggs": {
>>         "top_score": {
>>           "max": {
>>             "lang": "groovy",
>>             "script": "_score"
>>           }
>>         }
>>       }
>>     }
>>   }
>> }
>>
>> The result is:
>>
>>
>>    - aggregations: {
>>       - replies: {
>>          - buckets: [
>>             - {
>>                - key: 5643
>>                - doc_count: 1
>>                - top_score: {
>>                   - value: 0
>>                }
>>             }
>>          ]
>>       }
>>    }
>>
>>
>> This returns the following result.
>>
>> On Tuesday, August 19, 2014 8:47:40 AM UTC+1, Martijn v Groningen wrote:
>>>
>>> Hi Dan,
>>>
>>> The buckets of there replies terms agg are sorted by default by their
>>> doc count, but the hits inside topChildren agg are sorted by default by the
>>> score of the query.
>>> I think if you sort the replies buckets by highest score you get what
>>> you want. In order to do this you need to define a max metric agg, that
>>> keeps track of the score and let the replies terms agg sort its buckets by
>>> that, similar to what is done in this example: http://www.
>>> elasticsearch.org/guide/en/elasticsearch/reference/
>>> current/search-aggregations-metrics-top-hits-aggregation.
>>> html#_field_collapse_example
>>>
>>> Martijn
>>>
>>>
>>> On 18 August 2014 23:52, Dan Tuffery <[email protected]> wrote:
>>>
>>>> I using the top hits aggregation with a has_child query. In the
>>>> top_hits aggregation documentation it says '*By default the hits are
>>>> sorted by the score of the main query*', but I'm not seeing that in
>>>> the results for my query
>>>>
>>>> {
>>>>   "from": 0,
>>>>   "size": 3,
>>>>   "query": {
>>>>     "has_child": {
>>>>       "score_mode": "max",
>>>>       "type": "child_type",
>>>>       "query": {
>>>>         "match": {
>>>>           "myField": {
>>>>             "query": "some text"
>>>>           }
>>>>         }
>>>>       }
>>>>     }
>>>>   },
>>>>   "aggs": {
>>>>     "replies": {
>>>>       "terms": {
>>>>         "field": "parent_type_id",
>>>>         "size": 3
>>>>       },
>>>>       "aggs": {
>>>>         "topChildren": {
>>>>           "top_hits": {
>>>>             "size": 1
>>>>           }
>>>>         }
>>>>       }
>>>>     }
>>>>   }
>>>> }
>>>>
>>>> the has_child query returns three parent results with the following
>>>> scores.
>>>>
>>>>    - doc 1 = 0.83619833
>>>>    - doc 2 = 0.7210085
>>>>    - doc 3 = 0.7210085
>>>>
>>>> The score for the top hits aggregations are:
>>>>
>>>>    - first top hit aggregation = 0.29160267
>>>>    - second top hit aggregation  = 0.83619833
>>>>    - third top hit aggregation = 0.58320534
>>>>
>>>> So the 'second top hit aggregation' should be returned first followed
>>>> with aggregations with the score  0.7210085?
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>  --
>>>> 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/0b6849ad-4308-4afe-a76b-80153620f74b%
>>>> 40googlegroups.com
>>>> <https://groups.google.com/d/msgid/elasticsearch/0b6849ad-4308-4afe-a76b-80153620f74b%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%2BA76TygarVMd8wVgDi3dzeSPzY%2BMuuFV0kr4h-C-uY2hgynoQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to