#java #spring-boot #elasticsearch #elasticsearch-aggregation
Вопрос:
У меня проблема, я хочу попасть в топ-10 авторов, у которых больше всего книг.
Модельная книга :
@Id
private Long id;
private String name;
@Field(type = FieldType.Nested, includeInParent = true)
private Category category;
private String publishingYear;
private String description;
@Field(type = FieldType.Nested, includeInParent = true)
private Author author;
private String srcImg;
Автор модели :
@Id
private Long id;
private String name;
private String birthDay;
private String description;
Мои данные о elasticsearch :
{"id":1,"name":"Java","category":{"id":2,"name":"IT"},"publishingYear":"1999","description":"sach nham","author":{"id":1,"name":"Xuan dieu","birthDay":"1995","description":""},"srcImg":""},{"id":2,"name":"Java1","category":{"id":2,"name":"IT"},"publishingYear":"1999","description":"sach nham","author":{"id":1,"name":"Xuan dieu","birthDay":"1995","description":""},"srcImg":""},{"id":3,"name":"Java2","category":{"id":null,"name":null},"publishingYear":"1999","description":"sach nham","author":{"id":2,"name":"Xuan Quynh","birthDay":"1996","description":""},"srcImg":""},{"id":4,"name":"Java3","category":{"id":2,"name":"IT"},"publishingYear":"1999","description":"sach nham","author":{"id":1,"name":"Xuan dieu","birthDay":"1995","description":""},"srcImg":""}
Как использовать AggregationBuilders или что-нибудь еще, чтобы получить топ-10 авторов, у которых больше всего книг.
Спасибо