Как получить 10 лучших авторов из книги с помощью пружинной загрузки elasticsearch

#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 авторов, у которых больше всего книг.

Спасибо