欢迎关注【无量测试之道】公众号,回复【领取资源】,
Python编程学习资源干货、
Python+Appium框架APP的UI自动化、
Python+Selenium框架Web的UI自动化、
Python+Unittest框架API自动化、
资源和代码 免费送啦~
文章下方有公众号二维码,可直接微信扫一扫关注即可。
今天继续学习ES 在Windows 下的使用,主要是通过curl 命令行来操作ES:
备注:说明一下ES 的版本为6.8.8.
1.查看ES的相关信息
1 C:Users dcengineer>curl http://127.0.0.1:9200/?pretty 2 { 3 "name" : "node-1", 4 "cluster_name" : "myes", 5 "cluster_uuid" : "jImvcOwnQbilYTD8JLNtFA", 6 "version" : { 7 "number" : "6.8.8", 8 "build_flavor" : "default", 9 "build_type" : "zip", 10 "build_hash" : "2f4c224", 11 "build_date" : "2020-03-18T23:22:18.622755Z", 12 "build_snapshot" : false, 13 "lucene_version" : "7.7.2", 14 "minimum_wire_compatibility_version" : "5.6.0", 15 "minimum_index_compatibility_version" : "5.0.0" 16 }, 17 "tagline" : "You Know, for Search" 18 }
2.创建一个索引
1 C:Users dcengineer>curl -XPUT http://127.0.0.1:9200/index_01 2 {"acknowledged":true,"shards_acknowledged":true,"index":"index_01"}
3.创建一个索引,并初始化一个文档
1 C:Users dcengineer>curl -XPUT -H "content-Type:application/json" "http://127.0.0.1:9200/testindex/student/1" -d"{"name":"tony","age":25,"score":99}" 2 {"_index":"testindex","_type":"student","_id":"1","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1} 3 4 C:Users dcengineer>curl -XPUT -H "content-Type:application/json" "http://127.0.0.1:9200/testindex/student/2" -d"{"name":"tony","age":33,"score":99}" 5 {"_index":"testindex","_type":"student","_id":"2","_version":1,"result":"created","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1}
4.更新指定的id=2的索引内容
1 C:Users dcengineer>curl -XPUT -H "content-Type:application/json" "http://127.0.0.1:9200/testindex/student/2" -d"{"name":"tony","age":32,"score":98}" 2 {"_index":"testindex","_type":"student","_id":"2","_version":2,"result":"updated","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":1,"_primary_term":1}
5.删除指定索引下的数据
1 C:Users dcengineer>curl -XDELETE -H "content-Type:application/json" "http://127.0.0.1:9200/testindex/student/2" 2 {"_index":"testindex","_type":"student","_id":"2","_version":3,"result":"deleted","_shards":{"total":2,"successful":1,"failed":0},"_seq_no":2,"_primary_term":1}
6.删除指定的索引
1 C:Users dcengineer>curl -XDELETE -H "content-Type:application/json" "http://127.0.0.1:9200/test0823" 2 {"acknowledged":true}
7.获取指定索引下id=2 的数据信息
1 C:Users dcengineer>curl -XGET -H "content-Type:application/json" "http://127.0.0.1:9200/testindex/student/2" 2 {"_index":"testindex","_type":"student","_id":"2","_version":1,"_seq_no":3,"_primary_term":1,"found":true,"_source":{"name":"tony","age":32,"score":98}}
格式化后输出:
1 C:Users dcengineer>curl -XGET -H "content-Type:application/json" "http://127.0.0.1:9200/testindex/student/2?pretty" 2 { 3 "_index" : "testindex", 4 "_type" : "student", 5 "_id" : "2", 6 "_version" : 1, 7 "_seq_no" : 3, 8 "_primary_term" : 1, 9 "found" : true, 10 "_source" : { 11 "name" : "tony", 12 "age" : 32, 13 "score" : 98 14 } 15 }
8.查询指定索引下的所有数据
1 C:Users dcengineer>curl -XGET -H "content-Type:application/json" "http://127.0.0.1:9200/testindex/_search?pretty" 2 { 3 "took" : 1, 4 "timed_out" : false, 5 "_shards" : { 6 "total" : 5, 7 "successful" : 5, 8 "skipped" : 0, 9 "failed" : 0 10 }, 11 "hits" : { 12 "total" : 2, 13 "max_score" : 1.0, 14 "hits" : [ 15 { 16 "_index" : "testindex", 17 "_type" : "student", 18 "_id" : "2", 19 "_score" : 1.0, 20 "_source" : { 21 "name" : "tony", 22 "age" : 32, 23 "score" : 98 24 } 25 }, 26 { 27 "_index" : "testindex", 28 "_type" : "student", 29 "_id" : "1", 30 "_score" : 1.0, 31 "_source" : { 32 "name" : "tom", 33 "age" : 35, 34 "score" : 89 35 } 36 } 37 ] 38 } 39 }
9.指定条件name=tony的数据
1 C:Users dcengineer>curl -XPOST -H "content-Type:application/json" "http://127.0.0.1:9200/testindex/_search?pretty" -d "{"query":{"match":{"name":"tony"}}}" 2 { 3 "took" : 72, 4 "timed_out" : false, 5 "_shards" : { 6 "total" : 5, 7 "successful" : 5, 8 "skipped" : 0, 9 "failed" : 0 10 }, 11 "hits" : { 12 "total" : 1, 13 "max_score" : 0.2876821, 14 "hits" : [ 15 { 16 "_index" : "testindex", 17 "_type" : "student", 18 "_id" : "2", 19 "_score" : 0.2876821, 20 "_source" : { 21 "name" : "tony", 22 "age" : 32, 23 "score" : 98 24 } 25 } 26 ] 27 } 28 }
10.查询条件为name=tony or tom 的数据
1 C:Users dcengineer>curl -XPOST -H "content-Type:application/json" "http://127.0.0.1:9200/testindex/_search?pretty" -d "{"query":{"match":{"name":"tony tom"}}}" 2 { 3 "took" : 6, 4 "timed_out" : false, 5 "_shards" : { 6 "total" : 5, 7 "successful" : 5, 8 "skipped" : 0, 9 "failed" : 0 10 }, 11 "hits" : { 12 "total" : 2, 13 "max_score" : 0.2876821, 14 "hits" : [ 15 { 16 "_index" : "testindex", 17 "_type" : "student", 18 "_id" : "2", 19 "_score" : 0.2876821, 20 "_source" : { 21 "name" : "tony", 22 "age" : 32, 23 "score" : 98 24 } 25 }, 26 { 27 "_index" : "testindex", 28 "_type" : "student", 29 "_id" : "1", 30 "_score" : 0.2876821, 31 "_source" : { 32 "name" : "tom", 33 "age" : 35, 34 "score" : 89 35 } 36 } 37 ] 38 } 39 }
11.查询结果返回size=1的数据
1 C:Users dcengineer>curl -XPOST -H "content-Type:application/json" "http://127.0.0.1:9200/testindex/_search?pretty" -d "{"query":{"match":{"name":"tony"}},"size":1}" 2 { 3 "took" : 3, 4 "timed_out" : false, 5 "_shards" : { 6 "total" : 5, 7 "successful" : 5, 8 "skipped" : 0, 9 "failed" : 0 10 }, 11 "hits" : { 12 "total" : 2, 13 "max_score" : 0.2876821, 14 "hits" : [ 15 { 16 "_index" : "testindex", 17 "_type" : "student", 18 "_id" : "2", 19 "_score" : 0.2876821, 20 "_source" : { 21 "name" : "tony", 22 "age" : 32, 23 "score" : 98 24 } 25 } 26 ] 27 } 28 }
12.从查询结果的第二条开始返回size=1的数据
1 C:Users dcengineer>curl -XPOST -H "content-Type:application/json" "http://127.0.0.1:9200/testindex/_search?pretty" -d "{"query":{"match":{"name":"tony"}},"size":1,"from":1}" 2 { 3 "took" : 1, 4 "timed_out" : false, 5 "_shards" : { 6 "total" : 5, 7 "successful" : 5, 8 "skipped" : 0, 9 "failed" : 0 10 }, 11 "hits" : { 12 "total" : 2, 13 "max_score" : 0.2876821, 14 "hits" : [ 15 { 16 "_index" : "testindex", 17 "_type" : "student", 18 "_id" : "3", 19 "_score" : 0.2876821, 20 "_source" : { 21 "name" : "tony", 22 "age" : 33, 23 "score" : 90 24 } 25 } 26 ] 27 } 28 }
13.设置mapping
1 C:Users dcengineer>curl -XPUT -H "content-Type:application/json" "http://127.0.0.1:9200/index0823/person/_mapping" -d "{"person" : {"properties" : {"name" : {"type" : "text"},"status" : {"type" : "integer" }}}}" 2 {"acknowledged":true}
14.获取mapping
1 C:Users dcengineer>curl -XGET -H "content-Type:application/json" "http://127.0.0.1:9200/testindex/_mapping?pretty" 2 { 3 "testindex" : { 4 "mappings" : { 5 "student" : { 6 "properties" : { 7 "age" : { 8 "type" : "long" 9 }, 10 "name" : { 11 "type" : "text", 12 "fields" : { 13 "keyword" : { 14 "type" : "keyword", 15 "ignore_above" : 256 16 } 17 } 18 }, 19 "score" : { 20 "type" : "long" 21 } 22 } 23 } 24 } 25 } 26 }
15.查看索引的配置信息
1 C:Users dcengineer>curl -XGET -H "content-Type:application/json" "http://127.0.0.1:9200/testindex/_settings?pretty" 2 { 3 "testindex" : { 4 "settings" : { 5 "index" : { 6 "creation_date" : "1598166190725", 7 "number_of_shards" : "5", 8 "number_of_replicas" : "1", 9 "uuid" : "-Vc2G8szSLKNsmykPfL3WQ", 10 "version" : { 11 "created" : "6080899" 12 }, 13 "provided_name" : "testindex" 14 } 15 } 16 } 17 }
16.设置索引的副本信息(分片个数不允许修改)
1 C:Users dcengineer>curl -XPUT -H "content-Type:application/json" "http://127.0.0.1:9200/testindex/_settings" -d "{"number_of_replicas":5}" 2 {"acknowledged":true}
总结:以上内容就是今天的全部分享,文章内容都是个人在工作中常用的一些操作示例总结,有些内容可能不太全面,大家需要自行补充一下(查资料),同时可以结合“ Windows下ElasticSearch学习(一)”文章一起来阅读。
备注:我的个人公众号已正式开通,致力于测试技术的分享,包含:大数据测试、功能测试,测试开发,API接口自动化、测试运维、UI自动化测试等,微信搜索公众号:“无量测试之道”,或扫描下方二维码:
添加关注,让我们一起共同成长!