1. maven配置2. 等值查询3. 范围查询4. 模糊查询5. 多条件查询6. 集合查询7. 使用should查询8. should和must配合查询9. 有值查询10. 分页查询
使用ES开发过程中多使用ES的javaAPI,通过javaAPI来对ES的索引进行操作,对ES的操作一般都是通过构建QueryBuilder对象来进行操作。下面介绍几种QueryBuilder的构建。
1. maven配置
maven依赖
org.elasticsearch elasticsearch 6.3.2 org.elasticsearch.client transport 6.3.2
2. 等值查询
BoolQueryBuilder queryBuilder = QueryBuilders.boolQuery() .must(QueryBuilders.termQuery("name", "小李"));
查询name=小李的ES文档,等同于命令:
{
"query": {
"bool": {
"adjust_pure_negative": true, "must": [{
"term": {
"name": {
"boost": 1.0, "value": "小李" } } }], "boost": 1.0 } }}
3. 范围查询
BoolQueryBuilder queryBuilder = QueryBuilders.rangeQuery("age") .gte(18) .lte(50);
查询年龄大于等于18,并且小于等于50的记录,等同于以下命令。
{
"query": {
"range": {
"age": {
"include_lower": true, "include_upper": true, "from": 18, "boost": 1.0, "to": 50 } } }}
4. 模糊查询
Bo