Elasticsearch exclude top hit on field value

前端 未结 4 748
遇见更好的自我
遇见更好的自我 2021-01-17 19:23
{\'country\': \'France\', \'collected\': \'2018-03-12\', \'active\': true}
{\'country\': \'France\', \'collected\': \'2018-03-13\', \'active\': true}
{\'country\': \         


        
4条回答
  •  無奈伤痛
    2021-01-17 20:20

    Why don't you filter them beforehand:

    POST /test/_search
    {
      "query": {
        "bool": {
          "filter": [
            { 
              "term":{ 
                "active": true 
              }
            }
          ]
        }
      }, 
      "aggs": {
        "group": {
          "terms": {
            "field": "country"
          },
          "aggs": {
            "group_docs": {
                "top_hits": {
                  "size": 2,
                  "sort": [
                    {
                      "collected": 
                      {"order":"desc"}
                    }
                  ]
                }
              }
            }
          }
        }
      }
    

    This query will group your data by county where active is true.

    More info: filter context

提交回复
热议问题