• Cybertrunk
    2019-10-15
    "_key" 和 "_count" 是什么形式的操作,感觉很骚啊 ?用于指代结果集中的 key 和 doc_count吗 ?
     1
    
  • Cybertrunk
    2019-10-14
    现在留言不是实时发布了吗? 刚刚留言说有问题,现在原因找到了,多加个一个size: 0,。但是发现这个聚合很没有意思,用下面简单的query就能达到同样效果。
    # query
    GET employees/_search
    {
      "query": {
        "match": {
          "job.keyword": "Dev Manager"
        }
      }
    }
    # result
    {
      "took" : 2,
      "timed_out" : false,
      "_shards" : {
        "total" : 1,
        "successful" : 1,
        "skipped" : 0,
        "failed" : 0
      },
      "hits" : {
        "total" : {
          "value" : 2,
          "relation" : "eq"
        },
        "max_score" : 2.1747518,
        "hits" : [
          {
            "_index" : "employees",
            "_type" : "_doc",
            "_id" : "2",
            "_score" : 2.1747518,
            "_source" : {
              "name" : "Underwood",
              "age" : 41,
              "job" : "Dev Manager",
              "gender" : "male",
              "salary" : 50000
            }
          },
          {
            "_index" : "employees",
            "_type" : "_doc",
            "_id" : "21",
            "_score" : 2.1747518,
            "_source" : {
              "name" : "Underwood2",
              "age" : 42,
              "job" : "Dev Manager",
              "gender" : "male",
              "salary" : 60000
            }
          }
        ]
      }
    }
    我期望达到的效果是:结果中只有"Dev Manager"job类型的,按terms分桶的数据。
    比如:
    {
       "key" : "Dev Manager",
       "doc_count" : 1
    }
    这个才是我期望的聚合后再对结果进行post_filter的效果,相当于对结果集再做处理,但不知道ES是不是这样设计的。或者应该用pipeline达到我想要的结果。
    展开
    
    
  • Cybertrunk
    2019-10-14
    Post_filter那个例子没达到预期的结果啊?并没有把Dev Manager作为一个单独的桶返回。从Query的Result看,post_filter 没起作用。
    # query:
    POST employees/_search
    {
      "size": 0,
      "aggs": {
        "job_cnt": {
          "terms": {
            "field": "job.keyword"
          }
        }
      },
      "post_filter": {
        "match": {
          "job.keyword" : "Dev Manager"
        }
      }
    }

    #Result
    {
      "took" : 1,
      "timed_out" : false,
      "_shards" : {
        "total" : 1,
        "successful" : 1,
        "skipped" : 0,
        "failed" : 0
      },
      "hits" : {
        "total" : {
          "value" : 0,
          "relation" : "eq"
        },
        "max_score" : null,
        "hits" : [ ]
      },
      "aggregations" : {
        "job_cnt" : {
          "doc_count_error_upper_bound" : 0,
          "sum_other_doc_count" : 0,
          "buckets" : [
            {
              "key" : "Java Programmer",
              "doc_count" : 7
            },
            {
              "key" : "Javascript Programmer",
              "doc_count" : 4
            },
            {
              "key" : "QA",
              "doc_count" : 3
            },
            {
              "key" : "DBA",
              "doc_count" : 2
            },
            {
              "key" : "Web Designer",
              "doc_count" : 2
            },
            {
              "key" : "Dev Manager",
              "doc_count" : 1
            },
            {
              "key" : "Product Manager",
              "doc_count" : 1
            }
          ]
        }
      }
    }
    展开
    
    
  • godtrue
    2019-09-21
    aggregation——分组+聚合的作用范围和排序,这些脚本的使用官网会没有?不过,我们好像没写这么复杂😁
    
    
  • yu
    2019-08-19
    老师,这一段在官方文档哪个位置,在aggregation里面没有找到,可以提供一下么,谢谢~
     1
    
我们在线,来聊聊吧