2014-11-19 3 views
1

У меня есть отношение родитель/ребенок и поиск по дочерним элементам.Агрегация Elasticsearch по родительским свойствам

Возможно ли создать агрегацию по родительским свойствам?

например. parent - POST, а дети - это COMMENT. Если у родителя есть свойство «категория», можно ли было бы искать КОММЕНТАРИИ и иметь агрегацию по категориям родительских POST?

+0

Можете ли вы привести пример того, что вы имеете в виду? Если вы выполните запрос has_child, вы получите обратно родителей, которые вы сможете объединить. – pickypg

ответ

1

Это должно быть легко, и я чувствую ваш вопрос относится к чему-то еще:

GET /my_index/post/_search # query the POSTs type 
{ 
    "query": { 
    "has_child": { 
     "type": "comment",  # this is the COMMENT 
     "query": { 
     "match": { 
      "data": "whatever" # query the content of the COMMENT 
     } 
     } 
    } 
    }, 
    "aggs": { 
    "categories_agg": { 
     "terms": { 
     "field": "category" # aggregate on the category of the POST (since the POST is the type we query in the URL) 
     } 
    } 
    } 
} 
+0

Как я уже писал, я ищу комментарии. – fxbois

+0

Хорошо. И запрос 'has_child', указанный выше, позволяет запрашивать комментарии. –

+0

, но вы ищете сообщения/my_index/post/_search. Я бы эксперт/my_index/comment/_search – fxbois

Смежные вопросы