В индексе Elastisearch я собираю оценки от пользователей. То есть в индексе localhost: 9200/content_ratings/ У нас есть документы типа content_rating. Этот тип документа имеет следующие поля:Elasticsearch, группа Kibana по/агрегированным документам
- титул
- Автор
- URL
- рейтинг
- ratedBy
Допустим, наш индекс содержит следующие документы:
{
"title": "Data Quality", "author": "John Queue", "url": "/news/2015/data-quality", "rating":3, "ratedBy": "userA"
}
{
"title": "Data Quality", "author": "John Queue", "url": "/news/2015/data-quality", "rating":1, "ratedBy": "userB"
}
{
"title": "User Story Estimations", "author": "Abby Edye", "url": "/news/2014/story-splitting", "rating":5, "ratedBy": "userC"
}
Мне нужен отчет (Elasticsearch 1.0, Kibana 3), который показывает каждый номинальный элемент и вычисляет его средний рейтинг. Так что нам нужно «Группе по URL» и что-то вроде этого:
"title": "Data Quality", "author": "John Queue", "url": "/news/2015/data-quality", "avgRating":2
"title": "User Story Estimations", "author": "Abby Edye", "url": "/news/2014/story-splitting", "avgRating":5
а) есть способ в ES использовать «группу по» эквивалентным конструкциям?
b) есть ли способ в ES для запроса результатов, возвращаемых (другим) запросом из a)? - Я спрашиваю об этом, потому что из агрегированных результатов в другом отчете (панель Kibana) мне нужно будет подсчитать, как можно оценивать товар (4) или отлично (5)?
Я новичок в ES/kibana и после того, как много прибегая к помощи ближе всего к моему требованию эти ссылки: How do I group documents in elasticsearch by a single field? https://www.elastic.co/guide/en/elasticsearch/reference/1.3/search-aggregations-metrics-top-hits-aggregation.html
я пытался терминов огранки который неявно поддерживаются моим текущим комплекте- (ES 1.0, kibana3), но нигде рядом с тем, что мне нужно ...