1. 查询所有的索引
[root@Server01 cx]# curl '10.0.0.5:9200/_cat/indices?v'
health status index pri rep docs.count docs.deleted store.size pri.store.size
yellow open customer 5 1 2 0 6.6kb 6.6kb
yellow open bank 5 1 1000 0 442.1kb 442.1kb
2. 查询bank表中的所有数据
[root@Server01 cx]# curl '10.0.0.5:9200/bank/_search?q=*&pretty'
{
"took" : 41,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 1000,
"max_score" : 1.0,
"hits" : [ {
"_index" : "bank",
"_type" : "account",
"_id" : "25",
"_score" : 1.0,
"_source" : {
"account_number" : 25,
"balance" : 40540,
"firstname" : "Virginia",
"lastname" : "Ayala",
"age" : 39,
"gender" : "F",
"address" : "171 Putnam Avenue",
"employer" : "Filodyne",
"email" : "virginiaayala@filodyne.com",
"city" : "Nicholson",
"state" : "PA"
}
}, {
"_index" : "bank",
"_type" : "account",
"_id" : "44",
"_score" : 1.0,
"_source" : {
"account_number" : 44,
"balance" : 34487,
"firstname" : "Aurelia",
"lastname" : "Harding",
"age" : 37,
"gender" : "M",
"address" : "502 Baycliff Terrace",
"employer" : "Orbalix",
"email" : "aureliaharding@orbalix.com",
"city" : "Yardville",
"state" : "DE"
}
}, {
"_index" : "bank",
"_type" : "account",
"_id" : "99",
"_score" : 1.0,
"_source" : {
"account_number" : 99,
"balance" : 47159,
"firstname" : "Ratliff",
"lastname" : "Heath",
"age" : 39,
"gender" : "F",
"address" : "806 Rockwell Place",
"employer" : "Zappix",
"email" : "ratliffheath@zappix.com",
"city" : "Shaft",
"state" : "ND"
}
}, {
"_index" : "bank",
"_type" : "account",
"_id" : "119",
"_score" : 1.0,
"_source" : {
"account_number" : 119,
"balance" : 49222,
"firstname" : "Laverne",
"lastname" : "Johnson",
"age" : 28,
"gender" : "F",
"address" : "302 Howard Place",
"employer" : "Senmei",
"email" : "lavernejohnson@senmei.com",
"city" : "Herlong",
"state" : "DC"
}
}, {
"_index" : "bank",
"_type" : "account",
"_id" : "126",
"_score" : 1.0,
"_source" : {
"account_number" : 126,
"balance" : 3607,
"firstname" : "Effie",
"lastname" : "Gates",
"age" : 39,
"gender" : "F",
"address" : "620 National Drive",
"employer" : "Digitalus",
"email" : "effiegates@digitalus.com",
"city" : "Blodgett",
"state" : "MD"
}
}, {
"_index" : "bank",
"_type" : "account",
"_id" : "145",
"_score" : 1.0,
"_source" : {
"account_number" : 145,
"balance" : 47406,
"firstname" : "Rowena",
"lastname" : "Wilkinson",
"age" : 32,
"gender" : "M",
"address" : "891 Elton Street",
"employer" : "Asimiline",
"email" : "rowenawilkinson@asimiline.com",
"city" : "Ripley",
"state" : "NH"
}
}, {
"_index" : "bank",
"_type" : "account",
"_id" : "183",
"_score" : 1.0,
"_source" : {
"account_number" : 183,
"balance" : 14223,
"firstname" : "Hudson",
"lastname" : "English",
"age" : 26,
"gender" : "F",
"address" : "823 Herkimer Place",
"employer" : "Xinware",
"email" : "hudsonenglish@xinware.com",
"city" : "Robbins",
"state" : "ND"
}
}, {
"_index" : "bank",
"_type" : "account",
"_id" : "190",
"_score" : 1.0,
"_source" : {
"account_number" : 190,
"balance" : 3150,
"firstname" : "Blake",
"lastname" : "Davidson",
"age" : 30,
"gender" : "F",
"address" : "636 Diamond Street",
"employer" : "Quantasis",
"email" : "blakedavidson@quantasis.com",
"city" : "Crumpler",
"state" : "KY"
}
}, {
"_index" : "bank",
"_type" : "account",
"_id" : "208",
"_score" : 1.0,
"_source" : {
"account_number" : 208,
"balance" : 40760,
"firstname" : "Garcia",
"lastname" : "Hess",
"age" : 26,
"gender" : "F",
"address" : "810 Nostrand Avenue",
"employer" : "Quiltigen",
"email" : "garciahess@quiltigen.com",
"city" : "Brooktrails",
"state" : "GA"
}
}, {
"_index" : "bank",
"_type" : "account",
"_id" : "222",
"_score" : 1.0,
"_source" : {
"account_number" : 222,
"balance" : 14764,
"firstname" : "Rachelle",
"lastname" : "Rice",
"age" : 36,
"gender" : "M",
"address" : "333 Narrows Avenue",
"employer" : "Enaut",
"email" : "rachellerice@enaut.com",
"city" : "Wright",
"state" : "AZ"
}
} ]
}
}
took – Elasticsearch执行查询的毫秒响应时间
timed_out – 是否超时
_shards – 查询过的分片,包含成功的分片和失败的分片
hits – 搜索结果
hits.total – 符合搜索结果的记录数
hits.hits – 默认显示前10条搜索结果
_score and max_score - ignore these fields for now
3. 另外一种查询全部结果的方法
curl -XPOST '10.0.0.5:9200/bank/_search?pretty' -d '
{
"query": { "match_all": {} }
}'
4. 分页排序的检索例子
[root@Server01 cx]# curl -XPOST '10.0.0.5:9200/bank/_search?pretty' -d '
{
"query": { "match_all": {} },
"from": 10,
"size": 3,
"sort": { "balance": { "order": "desc" } }
}'
{
"took" : 8,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"failed" : 0
},
"hits" : {
"total" : 1000,
"max_score" : null,
"hits" : [ {
"_index" : "bank",
"_type" : "account",
"_id" : "255",
"_score" : null,
"_source" : {
"account_number" : 255,
"balance" : 49339,
"firstname" : "Iva",
"lastname" : "Rivers",
"age" : 38,
"gender" : "M",
"address" : "470 Rost Place",
"employer" : "Mantrix",
"email" : "ivarivers@mantrix.com",
"city" : "Disautel",
"state" : "MD"
},
"sort" : [ 49339 ]
}, {
"_index" : "bank",
"_type" : "account",
"_id" : "524",
"_score" : null,
"_source" : {
"account_number" : 524,
"balance" : 49334,
"firstname" : "Salas",
"lastname" : "Farley",
"age" : 30,
"gender" : "F",
"address" : "499 Trucklemans Lane",
"employer" : "Xumonk",
"email" : "salasfarley@xumonk.com",
"city" : "Noxen",
"state" : "AL"
},
"sort" : [ 49334 ]
}, {
"_index" : "bank",
"_type" : "account",
"_id" : "751",
"_score" : null,
"_source" : {
"account_number" : 751,
"balance" : 49252,
"firstname" : "Patrick",
"lastname" : "Osborne",
"age" : 23,
"gender" : "M",
"address" : "915 Prospect Avenue",
"employer" : "Gynko",
"email" : "patrickosborne@gynko.com",
"city" : "Takilma",
"state" : "MO"
},
"sort" : [ 49252 ]
} ]
}
}
5. 添加文档,如果id存在则更新文档
[root@Server01 data]# curl -XPUT '10.0.0.5:9200/customer/external/1?pretty' -d '
> {"name":"John Doe"}'
{
"_index" : "customer",
"_type" : "external",
"_id" : "1",
"_version" : 1,
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"created" : true
}
[root@Server01 data]# curl -XPUT '10.0.0.5:9200/customer/external/1?pretty' -d '
{"name":"Jane Doe"}'
{
"_index" : "customer",
"_type" : "external",
"_id" : "1",
"_version" : 2,
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"created" : false
}
6. 不指定Id时创建文档,可以发现自动生成一个随机Id
[root@Server01 data]# curl -XPOST '10.0.0.5:9200/customer/external?pretty' -d '{"name": "Jane Doe"}'
{
"_index" : "customer",
"_type" : "external",
"_id" : "AVTh63KZ4Pj5B2ZQ2voK",
"_version" : 1,
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"created" : true
}
7. 修改文档
[root@Server01 data]# curl -XPOST '10.0.0.5:9200/customer/external/2/_update?pretty' -d '{"doc":{"name":"favourite boy","age":18}}'
{
"_index" : "customer",
"_type" : "external",
"_id" : "2",
"_version" : 3,
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
}
}
8. 在开启javascript后,可以使用JS脚本更新文档
[root@Server01 data]# curl -XPOST '10.0.0.5:9200/customer/external/2/_update?pretty' -d '{"script":"ctx._source.age+=5"}'
9. 删除文档
[root@Server01 data]# curl -XDELETE '10.0.0.5:9200/customer/external/1?pretty'
{
"found" : true,
"_index" : "customer",
"_type" : "external",
"_id" : "1",
"_version" : 4,
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
}
}
10. 批量更新文档
[root@Server01 data]# curl -XPOST '10.0.0.5:9200/customer/external/_bulk?pretty' -d '
{"index":{"_id":"1"}}
{"name": "John Doe" }
{"index":{"_id":"2"}}
{"name": "Jane Doe" }'
{
"took" : 33,
"errors" : false,
"items" : [ {
"index" : {
"_index" : "customer",
"_type" : "external",
"_id" : "1",
"_version" : 3,
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"status" : 200
}
} ]
}
[root@Server01 data]# curl -XPOST '10.0.0.5:9200/customer/external/_bulk?pretty' -d '
> {"update":{"_id":"1"}}
> {"doc": { "name": "John Doe becomes Jane Doe" } }
> {"delete":{"_id":"2"}}
> '
{
"took" : 34,
"errors" : false,
"items" : [ {
"update" : {
"_index" : "customer",
"_type" : "external",
"_id" : "1",
"_version" : 4,
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"status" : 200
}
}, {
"delete" : {
"_index" : "customer",
"_type" : "external",
"_id" : "2",
"_version" : 5,
"_shards" : {
"total" : 2,
"successful" : 1,
"failed" : 0
},
"status" : 200,
"found" : true
}
} ]
}
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。