Linux 下用 curl 命令访问 Elasticsearch(RESTful风格)
这里介绍用 PUT 方法和 GET 方法访问 Elasticsearch。
1. 用PUT方法写数据
示例说明:megacorp 是索引的名字,employee 是类型的名字,1和2是员工的ID。
用 PUT 方法,下面两种形式都可以。
第一种,把地址放在后面:
# curl -H 'Content-Type: application/json' -X PUT \
-d '{"first_name":"John","last_name":"Smith","age":25,"about":"I love to go rock climbing","interests":["sports","music"]}' \
http://<IP地址>:<端口号>/megacorp/employee/1
第二种,把数据放在后面:
# curl -H 'Content-Type: application/json' -X PUT http://<IP地址>:<端口号>/megacorp/employee/2 \
-d '{"first_name":"Tom","last_name":" Crewes","age":23,"about":"I like making movies","interests":["sports","music"]}'
2. 用GET方法查询数据
查询员工1的数据:
# curl -X GET http://<IP地址>:<端口号>/megacorp/employee/1
返回:
{"_index":"megacorp","_type":"employee","_id":"1","_version":3,"_seq_no":2,"_primary_term":1,"found":true,"_source":{"first_name":"John","last_name":"Smith","age":25,"about":"I love to go rock climbing","interests":["sports","music"]}}
查询全部员工:
# curl -X GET http://<IP地址>:<端口号>/megacorp/employee/_search
返回:
{"took":70,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":3,"max_score":1.0,"hits":[{"_index":"megacorp","_type":"employee","_id":"2","_score":1.0,"_source":{"first_name" : "Jane","last_name":"Smith","age":32,"about":"I like to collect rock albums","interests":["music"]}},{"_index":"megacorp","_type":"employee","_id":"1","_score":1.0,"_source":{"first_name":"John","last_name":"Smith","age":25,"about":"I love to go rock climbing","interests":["sports","music"]}},{"_index":"megacorp","_type":"employee","_id":"3","_score":1.0,"_source":{"first_name" :"Douglas","last_name":"Fir","age":35,"about":"I like to build cabinets","interests":[ "forestry" ]}}]}}
查询姓氏中包含“Smith”的员工:
# curl -X GET http://<IP地址>:<端口号>/megacorp/employee/_search?q=last_name:Smith
返回:
{"took":31,"timed_out":false,"_shards":{"total":5,"successful":5,"skipped":0,"failed":0},"hits":{"total":2,"max_score":0.2876821,"hits":[{"_index":"megacorp","_type":"employee","_id"