GET /_cat/health?v // 了解集群健康状态,green:每个索引的shard和replica都是可用的yellow:所以的shard可用,部分replica不可用;red:部分shard不可用
GET /_cat/indices?v // 查看有哪些索引
PUT /{index-name}/pretty // 创建
DELETE /{index-name}/pretty // 删除
GET /{index-name}/_mapping // 获取index的mapping类型
PUT /{index-name}/_doc/1 //创建,若id为1的文档已存在会更新
{
"user" : "kim",
"post_date" : "2009-11-15T14:12:12",
"message" : "trying out Elasticsearch"
}
GET /{index-name}/{id} // 查询
PUT /{index-name}/_doc/{id} // 更新
{
"user" : "kim"
}
DELETE /{index-name}/{id} // 删除
GET /_mget // 批量查询
GET /{index-name}/_mget // 同一个index下批量查询
GET /{index-name}/_doc/_mget // 同一个index和type下批量查询
{
"docs" : [
{
"_index" : "test",
"_type" : "_doc",
"_id" : "1",
"stored_fields" : ["field1", "field2"]
},
{
"_index" : "test",
"_type" : "_doc",
"_id" : "2",
"stored_fields" : ["field1", "field2"]
}
]
}
GET /{index-name}/_doc/_mget?stored_fields=field1,field2 // 第三种,可简化为ids写法
{
"ids" : ["1", "2"]
}
POST /{index-name}/_bulk
// 一般的形式为,一个json对象不能换行,不同的json对象直接换行
// 这种格式会省略一步json转换,直接将数据路由到处理node,减少内存占用
{"": ""}
{ }
// 使用size和from可以分页查询
// es是分布式系统,分页每个node需要返回的是截至前的所有数据,交给coordinate node进行排序,所以会产生deep paging问题
// index和type都可以使用通配符
GET /[{index1},{index2}]/[{type1},{type2}]/_search?size=10&from=0 //搜索
// +表示必须包含value;-表示必须不包含
// 不添加field表示对每一个field进行搜索,使用es内置的_all字段(所有值拼在一起)
GET /_search?q=[+/-][{field}:]{value} // query string
// 获取数据类型
GET /{index-name}/_mapping
// 判断查询是否合法,request body为要验证的查询对象
GET /{index-name}/{type}/_validate/query?explain
// 滚动搜索,1m为失效时间,request body为查询对象,该操作会返回scroll_id
GET /{index-name}/{type}/_search?scroll=1m
// 滚动搜索之后的内容
GET /_search/scroll
{
"scroll": 1m,
"scroll_id": 123132
}
// 分析当前搜索
PUT /{index-name}/_analyze