1.中文模糊匹配,(分词匹配)
{
"query": {
"match": {
"name": "张三"//匹配的字段和关键字
}
},
"sort": {
"price": { //排序的字段
"order": "desc" //倒序
}
},
"size":20 //每页查询数量
}
2.中文模糊匹配,(不分词)
{
"query": {
"match_phrase": {
"name": "张三" //匹配的字段和关键字
}
},
"sort": {
"price": {
"order": "desc"
}
},
"size":20
}
3.布尔查询
{
"query": {
"bool": {
"must": [{//多字段匹配,两个必须同时匹配到
"match": {
"name":"屈"
}
}, {
"match": {
"bank":"中国"
}
}],
"filter": {//同时满足字段
"term": {//完全匹配
"pay_status":"4"
}
},
"must_not": [{//过滤匹配到这个关键字
"match": {
"phone":"2303"
}
}]
}
},
"sort": {
"price":{
"order": "desc"
}
}
}
4.布尔查询
{
"query": {
"bool": {
"should": [{//两个中满足一个即可匹配
"match": {
"name": "屈"
}
}, {
"match": {
"bank": "中国银行总行"
}
}],
"filter": {
"term": {
"pay_status": 3
}
}
}
},
"sort": {
"spend_price": {
"order": "desc"
}
}
}
5.多字段匹配,生成多个match查询
{
"query": {
"multi_match": {
"fields": ["bank", "name"],
"query": "工商",
"fuzziness": "AUTO"
}
}
}
6.聚合查询
{
"query": {//查询所有数据
"match_all": {}
},
"aggs": {
"group_by_name": {//根据pay_status分组
"terms": {
"field": "pay_status",
"size": 10000,
"order": {
"price": "desc"
}
},
"aggs": {
"price": {
"sum": {
"field": "price"//根据金额总和排序
}
}
}
}
}
}
7.范围筛选
{
"query": {
"bool": {
"must": [{
"match": {
"name": "屈"
}
}, {
"range": {
"price": {
"gte": 1,//金额大于等于1
"lte": 100金额小于等于100
}
}
}]
}
}
}