所有数据操作命令基于官方提供的样本测试数据,ES复杂操作的学习使用,需要样本数据看这里:官方样本数据
1.查询索引
GET bank/_search
{
"query": {"match_all": {}},
"sort": [
{
"account_number": "asc"
},
{
"balance": "desc"
}
]
}
2.查询索引,多字段查询
GET bank/_search
{
"query": {"match_all": {}},
"sort": [
{
"balance": {
"order": "desc"
}
}
],
"from": 5,
"size": 5,
"_source": ["balance","lastname"]
}
3.全文检索按照评分进行排序,会对检索条件进行分词匹配
GET bank/_search
{
"query": {
"match": {
"address": "Kings"
}
}
}
4.全文检索按照评分进行排序,会对检索条件进行短句匹配
GET bank/_search
{
"query": {
"match_phrase": {
"address": "Kings Hwy"
}
}
}
5.全文检索按照评分排序,多字段检索查询匹配
GET bank/_search
{
"query": {
"multi_match": {
"query": "mill",
"fields": ["address","city"]
}
}
}
6.精准查询多条件查询
GET bank/_search
{
"query": {
"bool": {
"must": [
{"match": {
"gender": "M"
}},
{
"match": {
"address": "mill"
}
},]
}
}
}
7.filter过滤,多条件查询完成后,对结果进行再次进行过滤
GET bank/_search
{"query": {
"bool": {
"filter": [
{"range": {
"age": {},
"gte": 18,
"lte": 30
}
}}
]
}
}}
8. 搜索address中包含mill的所有人的年龄分布以及平均年龄
GET bank/_search
{
"query": {
"match": {
"address": "mill"
}
},
"aggs": {
"ageAgg": {
"terms": {
"field": "age",
"size": 10
}
},
"ageAvg":{
"avg": {
"field": "age"
}
}
}
}
9.按照年龄聚合,并且请求这些年龄段的这些人的平均薪资
GET bank/_search
{
"query": {
"match_all": {}
}
, "aggs": {
"ageAggs": {
"terms": {
"field": "age",
"size": 100
}
, "aggs": {
"ageAvg": {
"avg": {
"field": "age"
}
}
}
}
}
}
10.查处所有年龄分布,并且这些年龄段中的m的平均薪资和f的平均信息以及这个年龄的总体平均薪资
GET bank/_search
{
"query": {
"match_all": {}
},
"aggs": {
"ageAggs": {
"terms": {
"field": "age",
"size": 100
},
"aggs": {
"genderAggs": {
"terms": {
"field": "gender.keyword",
"size": 10
},
"aggs": {
"balanceAvg": {
"avg": {
"field": "balance"
}
}
}
}
}
}
}
}