按多个字段聚合,ElasticSearchCCH中排名前10的问题和答案

krcsximq  于 2021-06-13  发布在  ElasticSearch
关注(0)|答案(1)|浏览(335)

当我们为少数记录执行记录时,只有问题会出现,并且不会在数据库中显示每个问题的答案,我们对所有问题都有答案。请让我知道查询得到的问题和答案的前10名记录。下面是错误。
获取logstash sdc questionrecords/\u search?q=source:website_portal

{
  "aggs": {
    "genres": {
      "terms": {
        "field": "question.keyword",
        "order": {
          "_count": "desc"
        },
        "size": 10
      },
      "aggs": {
        "genres": {
          "terms": {
            "field": "answer.keyword",
            "order": {
              "_count": "desc"
            },
            "size": 10
          }
        }
      }
    }
  }
}

在此处输入图像描述

7cwmlq89

7cwmlq891#

我从您的问题中了解到的是,您需要显示前10个问题及其答案,为了实现这一点,您需要使用子聚合和顶级点击将解决您的用例,而目前您正在使用两个不同的顶级术语聚合。
您的搜索查询应该如下所示

{
  "aggs": {
    "genres": {
      "terms": {
        "field": "question.keyword",
        "size": 10
      },
      "aggs": {
        "top_answer_hits": {
          "top_hits": {
            "size": 1,
            "_source": {
              "includes": [
                "answer"
              ]
            }
          }
        }
      }
    }
  }
}

相关问题