JavaAPI
Es7.x使用RestHighLevelClient进行查询操作
dsl
es常用查询语句:查空串,使用must,must_not, 范围查询,term查询
{"query":{
"term":{
"deleted" : 1
}
} ,
"aggs": {
"types_count": {
"value_count": {
"field": "id"
}
}
}
}
优化相关
踩坑
ES must、filter、should一起使用,导致的should语句失效的问题
ES中 minimum_should_match 的用法和误区
- 如果dsl语句没有 should的时候, minimum_should_match不为0的时候会查不出来数据,请留意这个问题, 这个时候需要代码里面如果设置了should的时候,minimum_should_match设置为1 ,如果代码里面没有设置should语句的时候, minimum_should_match设置为0 (ElasticSearch中minimum_should_match默认是0)