标签:Index 9200 记录 192.168 person accounts ElasticSearch curl
新建和删除 Index
新建 Index,可以直接向 Elastic 服务器发出 PUT 请求。下面的例子是新建一个名叫weather
的 Index。
curl -XPUT http://192.168.239.101:9200/weather/
服务器返回一个 JSON 对象,里面的acknowledged
字段表示操作成功。
{ "acknowledged":true, "shards_acknowledged":true }
然后,我们发出 DELETE 请求,删除这个 Index。
$ curl -X DELETE http://192.168.239.101:9200/weather
数据操作
5.1 新增记录
向指定的 /Index/Type 发送 PUT 请求,就可以在 Index 里面新增一条记录。比如,向/accounts/person
发送请求,就可以新增一条人员记录。
curl -X PUT http://192.168.239.101:9200/accounts/person -d ' { "user": "张三", "title": "工程师", "desc": "数据库管理" }'
服务器返回的 JSON 对象,会给出 Index、Type、Id、Version 等信息。
{ "_index":"accounts", "_type":"person", "_id":"1", "_version":1, "result":"created", "_shards":{"total":2,"successful":1,"failed":0}, "created":true }
如果你仔细看,会发现请求路径是/accounts/person/1
,最后的1
是该条记录的 Id。它不一定是数字,任意字符串(比如abc
)都可以。
新增记录的时候,也可以不指定 Id,这时要改成 POST 请求。
curl -X POST http://192.168.239.101:9200/accounts/person -d ' { "user": "李四", "title": "工程师", "desc": "系统管理" }'
上面代码中,向/accounts/person
发出一个 POST 请求,添加一个记录。这时,服务器返回的 JSON 对象里面,_id
字段就是一个随机字符串。
{ "_index":"accounts", "_type":"person", "_id":"AV3qGfrC6jMbsbXb6k1p", "_version":1, "result":"created", "_shards":{"total":2,"successful":1,"failed":0}, "created":true }
注意,如果没有先创建 Index(这个例子是accounts
),直接执行上面的命令,Elastic 也不会报错,而是直接生成指定的 Index。所以,打字的时候要小心,不要写错 Index 的名称。
5.2 查看记录
向/Index/Type/Id
发出 GET 请求,就可以查看这条记录。
curl -XGET http://192.168.239.101:9200/accounts/person/1?pretty
上面代码请求查看/accounts/person/1
这条记录,URL 的参数pretty=true
表示以易读的格式返回。
返回的数据中,found
字段表示查询成功,_source
字段返回原始记录。
{ "_index" : "accounts", "_type" : "person", "_id" : "1", "_version" : 1, "found" : true, "_source" : { "user" : "张三", "title" : "工程师", "desc" : "数据库管理" } }
如果 Id 不正确,就查不到数据,found
字段就是false
。
curl -XGET http://192.168.239.101:9200/accounts/person/1?pretty { "_index" : "accounts", "_type" : "person", "_id" : "1", "found" : false }
5.3 删除记录
删除记录就是发出 DELETE 请求。
curl -X DELETE 'http://192.168.239.101:9200/accounts/person/AWjP8cuP2r1J3ImKYMiA'
5.4 更新记录
更新记录就是使用 PUT 请求,重新发送一次数据。
curl -X PUT http://192.168.239.101:9200/accounts/person/1 -d ' { "user": "李四", "title": "工程师", "desc": "数据库管理" }'
curl -X PUT http://192.168.239.101:9200/accounts/person/1 -d ' > { > "user": "李四", > "title": "工程师", > "desc": "数据库管理" > }' {"_index":"accounts","_type":"person","_id":"1","_version":2,"_shards":{"total":2,"successful":2,"failed":0},"created":false}
上面代码中,我们将原始数据从"数据库管理"改成"数据库管理,软件开发"。 返回结果里面,有几个字段发生了变化。
"_version" : 2, "result" : "updated", "created" : false
可以看到,记录的 Id 没变,但是版本(version)从1
变成2
,操作类型(result)从created
变成updated
,created
字段变成false
,因为这次不是新建记录。
标签:Index,9200,记录,192.168,person,accounts,ElasticSearch,curl 来源: https://www.cnblogs.com/kpsmile/p/10356875.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。