zoukankan      html  css  js  c++  java
  • 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 因为此时前台数据集后台数据集数据完全一样,所以无法感知词项在两者中的频率差异。

    • 计数是近似值

    • 不能使用浮点数字段

  • 相关阅读:
    前端js部分面试题
    前端css部分面试笔试题
    javascript 面向对象
    string 对象
    JavaScript 正则表达式
    JavaScirpt 位运算
    JavaScript冒泡循环排序案例
    JavaScript 练习题
    浏览器缓存机制
    浏览器对象模型(BOM)
  • 原文地址:https://www.cnblogs.com/pzblog/p/9088411.html
Copyright © 2011-2022 走看看