﹎斑斓的梦ぷ

愿你眼中总有光芒,活成你想要的模样.

导航

Elasticsearch - 重要词项聚合

词项聚合

significant_terms 聚合,可以用于全文检索字段,但是要注意,非常消耗内存,因为需要将所有词项加载到内存中,下面是语句。

curl XGET 'http://127.0.0.1:9200/comic/comic/_search?size=0&pretty ' -d '{
  "query": {
    "term": {
    	"status": "2"
    }
  },
  "aggregations": {
    "description": {
      "significant_terms": {
        "field": "name"
      }
    }
  }
}'

后台数据集过滤

curl XGET 'http://127.0.0.1:9200/comic/comic/_search?size=0&pretty ' -d '{
  "query": {
    "match": {
    	"intern": "Richard"
    }
  },
  "aggregations": {
    "description": {
      "significant_terms": {
        "field": "grade",
        "background_filter":{
        	"term":{
        		"type":"grade"
        	}
        }
      }
    }
  }
}'

简单说下使用限制问题

  • 内存消耗

  • 不应该作为顶级聚合使用,例如:match_all 因为此时前台数据集后台数据集数据完全一样,所以无法感知词项在两者中的频率差异。

  • 计数是近似值

  • 不能使用浮点数字段

posted on 2018-05-25 14:29  ﹎斑斓的梦ぷ  阅读(156)  评论(0编辑  收藏  举报