官方文档7.9版本
GET _search
{
"query": {
"match_all": {}
}
}
POST /customer/external/_bulk
{"index":{"_id":3}}
{"name":"zhangsan"}
{"index":{"_id":4}}
{"name":"lisi"}
GET /_cat/indices
PUT /customer/external/1
{
"name":"zhangsan"
}
GET bank/_search
{
"query": {
"bool": {
"must": [
{
"match": {
"name": "zhang"
}
}
],
"must_not": {}
}
}
}
GET bank/_search
{
"query": {
"match_phrase": {
"name": "zhang yun"
}
}
}
## .keyword表示精确匹配 不是短语匹配
## 短语匹配是只要包含了这个短语的都行
## 精确匹配是这个字段的值就是这个 精确的值
GET bank/_search
{
"query": {
"match": {
"name.keyword": "zhang yun"
}
}
}
##按照年龄聚合,并且请求这些年龄段的这些人的平均薪资
GET bank/_search
{
"query": {
"match": {
"female": "m"
}
},
"aggs": {
"ageagg": {
"terms": {
"field": "age",
"size": 10
}
},
"avgagg":{
"avg": {
"field": "age"
}
},
"balanceavg":{
"avg": {
"field": "balance"
}
}
},
"size": 20
}
##查出所有年龄分布,并且这些年龄段中 M 的平均薪资和 F 的平均薪资以及这个年龄 段的总体平均薪资
GET bank/_search
{
"query": {
"match_all": {}
},
"aggs": {
"age_agg": {
"terms": {
"field": "age",
"size": 100
},
"aggs": {
"gender_agg": {
"terms": {
"field": "gender"
},
"aggs": {
"gender_balance_agg": {
"avg": {
"field": "balance"
}
}
}
},
"age_balance_agg": {
"avg": {
"field": "balance"
}
}
}
}
}
}
## 第一次把数据存到es es会自动猜测这个数据是什么类型 然后存储
## 使用下面这个命令可以查看数据类型的映射 只要类型是text 就会分词进行全文检索
## 只要是数字都会被猜测为long 字符串都会被猜测成text
## text类型都有一个子类型 keyword
GET bank/_mapping