首先看聚合查询写的代码
聚合查询 使用的是tags这个字段分组查询,使用term查询。
term查询的话必须查询的字段是keyword类型,而且在java代码后面需要加入.keyword。
text是全文检索,会分词,而keyword不分词查询。
然后在对应字体加入fielddata=true。
ElasticSearch 5.0以后,string类型有重大变更,移除了string类型,string字段被拆分成两种新的数据类型: text用于全文搜索的,而keyword用于关键词搜索。
ElasticSearch字符串将默认被同时映射成text和keyword类型,将会自动创建下面的动态映射(dynamic mappings):
{
"foo": {
"type":