栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

UnmappedTerms cannot be cast to org.elasticsearch.search.aggregations.bucket.terms.StringTerms

UnmappedTerms cannot be cast to org.elasticsearch.search.aggregations.bucket.terms.StringTerms

问题
java.lang.ClassCastException: org.elasticsearch.search.aggregations.bucket.terms.UnmappedTerms cannot be cast to org.elasticsearch.search.aggregations.bucket.terms.StringTerms
原因

不能转化为StringTerms

for (Map.Entry entry : aggregationMap.entrySet()) {
				Map map = new HashMap<>();
				// 放入规格参数名
				map.put("k", entry.getKey());
				// 收集规格参数值
				List options = new ArrayList<>();
				// 解析每个聚合
				StringTerms terms = (StringTerms) entry.getValue();
				// 遍历每个聚合中桶,把桶中key放入收集规格参数的集合中
				terms.getBuckets().forEach(bucket -> options.add(bucket.getKeyAsString()));
				map.put("options", options);
				paramMapList.add(map);
			} 
问题解决 

把StringTerms 换成 Terms 完美解决

for (Map.Entry entry : aggregationMap.entrySet()) {
				Map map = new HashMap<>();
				// 放入规格参数名
				map.put("k", entry.getKey());
				// 收集规格参数值
				List options = new ArrayList<>();
				// 解析每个聚合
				Terms terms = (Terms) entry.getValue();
				// 遍历每个聚合中桶,把桶中key放入收集规格参数的集合中
				terms.getBuckets().forEach(bucket -> options.add(bucket.getKeyAsString()));
				map.put("options", options);
				paramMapList.add(map);
			} 

转载请注明:文章转载自 www.mshxw.com
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号