条件查询
参数拼接
GET first_index/_search?q=name:小朱
body传参查询
get first_index/_search
{
"query": {
"match": {
"name": "小朱"
}
}
}
排序分页
GET first_index/_search
{
"query": {
"match": {
"name": "小朱"
}
},
// 排序
"sort": [
{
"age": {
"order": "desc"
}
}
],
// 分页页数
"from": 0,
// 分页大小
"size": 1,
// 查询字段
"_source": ["title"]
}
多条件查询
must是多个条件同时成立,相当于and。should是其中一个条件成立就可以相当于or。
GET first_index/_search
{
"query": {
"bool": {
"must": [
// 条件一:name匹配小黄
{"match": {
"name": "小黄"
}},
// 条件二: age等于18
{
"match": {
"age": 18
}
}
]
}
}
}
过滤
使用filter进行过滤,其中gt大于,gte大于等于,lt小于,lte小于等于
GET first_index/_search
{
"query": {
"bool": {
"must": [
{"match": {
"name": "啊黄"
}},
{
"match": {
"age": 21
}
}
],
"filter": [
{
"range": {
"age": {
"gte": 10
}
}
}
]
}
}
}
高亮处理
GET first_index/_search
{
"query": {
"match": {
"name": "小黄"
}
},
"highlight": {
// 开始标签
"pre_tags": "<p>",
// 结束标签
"post_tags": "</p>",
// 高亮字段
"fields": {
"name": {}
}
}
}