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 
>>
>

-- 
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/8967c8c1-4b3a-4c5b-822f-b1bdb86f7480%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to