使用elasticSearch想对一个字段进行聚合的时候,但是又不想对该字段进行分词,那么应该怎么处理呢?
- 首先我们在创建mapping的时候将fields的type设置为keyword
"your_field_name": {
"type": "text",
"fields": {
"keyword": {
"type": "keyword"
}
},
"fielddata": true
}
- 在聚合查询的时候使用:
AggregationBuilders.terms("feild_agg").field("your_field_name.keyword")
- 这样对your_field_name字段进行聚合的时候就不会分词了