Agregação nos N principais resultados

Problema:

Se eu procurar por "iphone", obtenho 400 resultados do produto e a agregação da categoria de produto retornará as 3 principais categorias no conjunto de resultados.

Essas categorias incluem smartphones, capas de telefone e acessórios para celular.

Se eu pesquisar "iphone 6", obtive 1400 resultados por causa do retorno "6" extra corresponde a mais produtos. A agregação de categorias de produtos agora retorna as três principais categorias para todos esses resultados.

As três principais categorias de produtos serão agora de cabos a monitores de computador.

O que preciso fazer é obter as 3 principais categorias para os 100 melhores resultados.

O que eu tentei:

Eu tentei usar otop_hits agregação na agregação da categoria principal, mas que retorna apenas os principais produtos em cada categoria.

Algo assim:

{
    "aggs": {

        "product_categories": {
            "terms": {
                "field": "product_category",
                "size": 10,
            }
        }        
        "aggs": {
            "top-categories": {
                "top_hits": {
                    "size" : 3
                }
            }
        }
    }
}

Eu também tentei criar umtop_hits agregação com uma sub-agregação dentro para obter as principais categorias, mas isso também não funciona.

{
    "aggs": {
        "top-categories": {
            "top_hits": {
                "size" : 100
            }
            "aggs": {
                "product_categories": {
                    "terms": {
                        "field": "product_category",
                        "size": 3,
                    }
                }
            }
        }
    }
}

Alguém pode me ajudar com esse problema?

questionAnswers(3)

yourAnswerToTheQuestion