1.查询所有索引:
GET _cat/indices
2.根据id查询索引里指定数据(users为索引名,1为id的值):
GET users/_doc/1
3.查询索引里所有的数据(product为索引名)
GET product/_search
4.局部更新指定的数据(将product索引里id为1进行更新)
POST product/_update/1{"doc":{"price":899}}
5.全量更新
PUT product/_doc/1003{"title":"小米手机","category":"小米","price":"599","image":"https://mi.jpg"}
6.删除指定的文档:
DELETE product/_doc/1002
7.按指定条件进行查询匹配:
GET shopping/_search
{"query":{"match_phrase":{"image":"https://xiaomi.jpg"}}
}
8.分页和排序,分页使用from表示起始记录数,size每页返回条数,排序,使用关键字sort,并指定排序字段,排序规则:
GET product/_search
{"query":{"match_all":{}},"from":0,"size":2,"_source":["brand","price"],"sort":{"price":{"order":"desc"}}}
9.多条件and查询,使用关键字must:
GET shopping/_search
{"query":{"bool":{"must":[{"match":{"category": "小米"}},{"match":{"price": "599"}}]}}
}
10.多条件or查询,使用关键字should:
GET shopping/_search
{"query":{"bool":{"should":[{"match":{"brandName": "小米"}},{"match":{"brandName": "vivo"}}]}}
}
11.新增一条数据并指定id:
POST /user/_doc/1001
{"name":"xiaomi","sex":"F","tel":"131"
}
或
PUT shopping/_create/1006
{"title":"vivo手机","category":"vivo","price":"2958","image":"https://vivo.jpg"
}
12.分组统计:
GET phone/_search
{"aggs":{"price_group":{"terms":{"field":"price"}}},"size":0 //不显示原始数据
}
13.求平均数:
GET phone/_search
{"aggs":{"price_avg":{"avg":{"field":"price"}}},"size":0 //不显示原始数据
}
在ElasticSearch中POST 可以创建ES自动生成id类型的document,也可自己指定id。
PUT id存在为创建,否则为全量替换。
另外PUT还可以 使用op_type=create或_create实行强制创建document。
ElasticSearch文档中字段类型一旦创建,便不能修改,需要修改时可先创建一个新的索引,在索引写好好映射结构,然后将上一个索引的数据迁移过去。