Elasticsearch 查询操作

查询操作

基础查询

// 查询的参数有两种方式传递
// 第一种:直接在地址中填写参数
curl -X GET http://127.0.0.1:9200/{index_name}/_search?q=title:"小米"

// 第二种:放在请求体中(推荐这种方式)
curl -X GET http://127.0.0.1:9200/{index_name}/_search -d '{
		// 查询条件
    "query":{
        "match":{
          //查询字段和查询目标
            "category":"小米"
        }
    },
    // 从第几个开始查询
    "from":0,
    // 每页显示几条
    "size":2,
		// 显示字段
    "_source":["title","price"],
		// 排序
    "sort":{
      	// 排序字段
        "price": {
          	// 排序规则 asc/desc
            "order":"asc"
        }
    }
}'

多条件查询&范围查询

// 同时满足条件查询
curl -X GET http://127.0.0.1:9200/{index_name}/_search -d '{
    "query":{
        // 说明是条件查询
        "bool":{
            // and 条件查询(两个条件都必须满足)
            "must":[
                {
                    "match":{
                        // 匹配
                        "category":"小米"
                    }
                },{
                    "match":{
                        "title":"手"
                    }
                }
            ]  
        }
    }
}
'
  
// 满足任意条件查询
curl -X GET http://127.0.0.1:9200/{index_name}/_search -d '{
    "query":{
        // 说明是条件查询
        "bool":{
            // or 条件查询(两个 match 命中任意一个都可以)
            "should":[
                {
                    "match":{
                        // 匹配
                        "category":"小米"
                    }
                },{
                    "match":{
                        "title":"手"
                    }
                }
            ]  
        }
    }
}
'
  
// 范围查询
  
curl -X GET http://127.0.0.1:9200/{index_name}/_search -d '
{
    "query":{
        // 说明是条件查询
        "bool":{
            // 范围查询
            "filter":{
                "range":{
                  // 字段说明
                    "price":{
                      // 查询条件 gt=大于 
                        "gt":2000
                    }
                }
            }
        }
    }
}
'
  

完全匹配&高亮查询&全文查询

curl -X GET http://127.0.0.1:9200/{index_name}/_search -d '
{
    "query":{
        // 完全匹配,(如果不使用完全匹配,ES 会把 “小米” 分解为 “小“,”米“ 进行查询)
        "match_phrase":{
            "category":"小米"
        }
    },
    // 高亮显示
    "highlight":{
        "fields":{
            "category":{}
        }
    }
}'

聚合操作

curl -X GET http://127.0.0.1:9200/{index_name}/_search -d '
// 聚合操作
    "aggs": {
        // 分组名称,随意自定义
        "price_group":{
            // 进行聚合分组
            "terms":{
                // 字段
                "field": "price"
            }
        },
      // 名称,随意自定义
      "price_avg":{
        // 求平均值
          "avg":{
            // 字段
            "field":"price"
          }
        }
    }'
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值