在es5.6版本的时候,使用聚合语句查询es的时候,会出现异常,关键信息如下:
can't load fielddata on because fielddata is unsupported on fields of type xxx, use doc value instead...
主要是因为,es 索引的mapping里面的doc_values属性的值设置的是false。
这个属性是干啥的呢?快速了解一下。
字段的 doc_values 属性有两个值, true、false。默认为 true ,即开启。
当 doc_values 为 fasle 时,无法基于该字段排序、聚合、在脚本中访问字段值。
当 doc_values 为 true 时,ES 会增加一个相应的正排索引,这增加的磁盘占用,也会导致索引数据速度慢一些。
Doc Values 默认对所有字段启用,除了 analyzed strings 可分词的字段外。也就是说所有的数字、地理坐标、日期、IP 和不可分词的(not_analyzed)字符类型都会默认开启。
为了加快排序、聚合操作,在建立倒排索引的时候,额外增加一个列式存储映射,是一个空间换时间的做法。默认是开启的,对于确定不需要聚合或者排序的字段可以关闭。
在ES保持文档,构建倒排索引的同时doc_values就被生成了, doc_values数据太大时, 它存储在电脑磁盘上.
doc_values是列式存储结构, 它擅长做聚合和排序
对于非分词字段, doc_values默认值是true(开启的), 如果确定某字段不参与聚合和排序,可以把该字段的doc_values设为false
例如SessionID, 它是keyword类型, 对它聚合或排序毫无意义, 需要把doc_values设为false, 节约磁盘空间
分词字段不能用doc_values
通过设置 doc_values: false ,这个字段将不能被用于聚合、排序以及脚本操作
那,解决报错的方法就是修改这个索引的mapping,把这个属性=false的给删掉。或者给改成true

ES聚合查询报 can‘t load fielddata on because fielddata is unsupported on fields of type x,use doc value..相关推荐

  1. ES聚合查询详解(二):桶聚合

    前言 前面介绍了ES的简单使用,并说明了ES聚合查询主要分为3类:指标聚合.桶聚合和管道聚合. 本文主要是介绍其中桶聚合的相关使用. 一.桶聚合 Bucket 聚合不像Metric聚合那样计算字段上的 ...

  2. ES聚合查询详解(三):指标聚合

    前言 ES聚合查询主要分为3类:指标聚合.桶聚合和管道聚合. 本文主要是介绍其中指标聚合的相关使用. 一.简介 指标聚合 Metrics Aggregations 如果说桶聚合主要是用来做分组的,那么 ...

  3. ES使用聚合查询报错exception [type=search_phase_execution_exception, reason=all shards failed]

    首先看聚合查询写的代码 聚合查询 使用的是tags这个字段分组查询,使用term查询. term查询的话必须查询的字段是keyword类型,而且在java代码后面需要加入.keyword. text是 ...

  4. es 聚合查询的报illegal_argument_exception错误

    es对没有加入索引的是不支持聚合查询的,如果需要聚合查询执行下面的语句 curl -X PUT "localhost:9200/megacorp/_mapping?pretty" ...

  5. ES聚合查询根据字段进行分组

    es在使用聚合查询根据字段进行分组的时候,发现一个情况 // 声明where 条件 BoolQueryBuilder qbs = QueryBuilders.boolQuery();QueryBuil ...

  6. ES时间查询报错 - “caused_by“:{“type“:“illegal_argument_exception“,“reason“:“failed to parse date field

    项目场景: 在ES的使用过程中,用到了时间范围的查询功能,出现时间解析错误的报错信息:"caused_by":{"type":"illegal_arg ...

  7. (转)es 聚合查询并返回每个组的数据

    转自: https://blog.csdn.net/ywdhzxf/article/details/84878760 需求 我现在是有一个这样的需求, 我需要在es里面按照 cityarea 进行分组 ...

  8. es聚合查询与多维度数据统计

    首先要弄清楚两个概念,聚合与搜索 搜索 即从一个索引下按照特定的字段或关键词搜索出符合用户预期的一个或者一堆cocument,然后根据文档的相关度得分,在返回的结果集里并根据得分对这些文档进行一定的排 ...

  9. es 聚合查询 java api_javaAPI操作ES分组聚合

    连接es的客户端使用的 TransportClient SearchRequestBuilder requestBuilder = transportClient.prepareSearch(indi ...

最新文章

  1. python知识:all、dict()、min、setattr、any函数
  2. 北大计算机学院 教授 湖南人,北大湘籍教授邹恒甫简历
  3. Linux文件读写改权限详解
  4. 机器学习问题总结(01)
  5. 计算机网络应用是学什么类型的,计算机网路中服务类型及应用
  6. 链接详解--共享库命名
  7. int f()与int f(void)的区别
  8. [转载] Java异常处理中Try-Catch-Finally中常见的笔试题
  9. 前台传递过来的参数遍历
  10. C#导出EXCEL没有网格线的解决方法
  11. allegro隐藏/显示铜皮
  12. Canvas实例之鼠标移动特效(彩色小球)
  13. 网页分享到贴吧,微博
  14. Latex编辑论文常用package
  15. 《Python网络爬虫从入门到实践 第2版》第14章 爬虫实践一:维基百科
  16. “很抱歉,出现错误,word不能启动”超简单解决方法
  17. Android 性能监测工具,优化内存、卡顿、耗电、APK的方法
  18. [week1]每周总结与工作计划
  19. 工业智能网关BL110详解之7:实现三菱 PLC FX1S 接入金鸽modbus云平台
  20. 2020年6月程序员工资统计,平均14404元,又跌了,扎心了!你的呢?

热门文章

  1. Linux之I2C驱动
  2. 一键领取饿了么手气最佳红包
  3. 股票基金实时行情监视小程序(C# wpf)
  4. unity 如何制作成网页游戏版本
  5. 软考对找工作有帮助吗?
  6. CSDN的C1考试,质数问题,一不小心就错失得分
  7. 美团点评王兴:有爱、有钱、有耐心丨Xtecher 观察
  8. Magic Leap收购3D建模公司Virtroid
  9. 网页后缀php,网页后缀php有什么含义
  10. 6月刊推荐:轻松理解复合事件处理