Как получить общее количество уникальных документов для многозначного файла после того, как фасет json получит N верхних сегментов? - PullRequest
0 голосов
/ 25 октября 2019

Я пытаюсь получить данные, которые представляют - Через год во всех статьях найдите 10 лучших авторов, чтобы получить процент от них (10 лучших статей) / (всего статей за этот год). Как известно, авторы должны быть многозначно поданы. Поэтому, когда я использую фасет json, после того, как я получу первые 10 сегментов, если я получу сумму (количество), то количество будет больше, чем фактические статьи, потому что первые 10 авторов могут быть в одной статье. То, что я хочу: после того, как я получу 10 лучших авторов и их количество статей, мне нужно получить общее количество и объединить все статьи 10 лучших, например, sql diver () - (потому что author1 & author2 могут написать одну и ту же статью). Как это могло произойти?

Текущий Я использую фасет вот так

    type:range,
    field:APD_YEAR,
    start:2013,
    end:2014,
    gap:1,
    facet: {
        top_10_authors_by_year:{
            type: terms,limit: 10,field: AUTHORS_FACET,numBuckets:true,allBuckets:true
        }
    }
}
}

и получил

facets":{
    "count":854,
    "APD_YEAR_RANGES":{
      "buckets":[{
          "val":2013,
          "count":34,
          "top_10_author_by_year":{
            "numBuckets":37,
            "buckets":[{
                "val":"author1",
                "count":16},
              {
                "val":"author2",
                "count":3},
              {
                "val":"author3",
                "count":3},...
              {
                "val":"author10",
                "count":3},
              ],
            "allBuckets":{
              "count":74}}}]}}}
...