目录
一、ES基础语法
1.1、创建索引
PUT /test
{
"settings" : {
"number_of_shards" : 1,//主分片数量
"number_of_replicas" : 1//从分片数量
}
}
1.2、创建索引并指定索引ID
PUT /employee/_doc/1
{
"name": "凯杰",
"age": 30
}
1.3、指定id全量修改索引
PUT /employee/_doc/1
{
"name": "凯dsfsf32杰",
"age"
}
1.4、指定id部分字断修改
POST employee/_update/1
{
"doc" : {
"name" : "new_name"
}
}
1.5、指定_create防止重复创建
POST /employee/_create/1/
{
"name": "凯1213132杰",
"age": 30
}
1.6、搜索全部
GET /employee/_search
1.7、获取指定ID
GET /employee/_doc/1
1.8、不指定ID建立索引
POST /employee/_doc/
{
"name": "dsfsfsf",
"age": 30
}
1.9、删除文档
delete /employee/_doc/1
1.10、删除索引
DELETE /employee
1.11、结构化创建索引
PUT /employee/
{
"settings" : {
"number_of_shards" : 1,
"number_of_replicas" : 1
},
"mappings" : {
"properties" : {
"name" : { "type" : "text" },
"age" : { "type" : "integer" }
}
}
}
二、ES简单查询
2.1、主键查询
GET /employee/_doc/1
2.2、查询所有
GET /employee/_search
{
"query":{
"match_all": {}
}
}
2.3、分页查询
GET /employee/_search
{
"query":{
"match_all": {}
},
"from":1,
"size":1
}
三、复杂查询
3.1、带条件
GET /employee/_search
{
"query":{
"match": {"name":"ES"}
}
3.2、带排序
GET /employee/_search
{
"query":{
"match": {"name":"ES"}
},
"sort":[
{"age":{"order":"desc"}}
]
}
GET /employee/_search
{
"query": {
"bool": {
"filter": [
{
"term": {
"name": "景333334444华"
}
}
]
}
}
}
注意:term相当于where条件score不参与打分,并且不进行分词,match 参与打分并进行分词搜索
3.3、带聚合
GET /employee/_search
{
"query":{
"match": {"name":"ES"}
},
"sort":[
{"age":{"order":"desc"}}
],
"aggs":{
"group_by_age":{
"terms":{
"field":"age"
}
}
}
}