CURL命令簡單可以認為是在命令行下訪問url的一個工具,是利用URL語法在命令行方式下工作的開源文件傳輸工具,使用curl可以簡單實現常見的get/post請求。
首先需要在后台啟動elasticsearch
elasticsearch-2.2.0/bin/elasticsearch -d
啟動kibana(便於Web端進行查看)
kibana-4.4.1-linux-x64/bin/kibana
也可以安裝chrome head插件進行簡單的可視化查看
命令格式:
–curl -X指定http請求的方法(如HEAD GET POST PUT DELETE)httpUrl -d '指定要傳輸的數據'
例子:
建立索引庫company,PUT和POST都可以:
curl -XPUT 'http://localhost:9200/company'
索引庫名稱必須要全部小寫,不能以下划線開頭,也不能包含逗號
創建索引,其中employee是type,1是document,-d是指定要傳輸的數據(遵循JSON格式):
curl -XPOST http://localhost:9200/company/employee/1 -d
'{
"first_name" : "John",
"last_name" : "Smith",
"age" : 25,
"about" : "I love to go rock climbing",
"interests": [ "sports", "music" ]
}'
如果想要確定我們創建的都是全新的內容,可以使用?op_type=create、_create
curl -XPUT http://localhost:9200/company/employee/2?op_type=create -d '{"name":“zs","age":25}'
curl -XPUT http://localhost:9200/company/employee/2/_create -d '{"name":“laoxiao","age":25}'
創建成功會返回201 Created/409 Conflict
根據員工id查詢(在任意的查詢字符串中添加pretty參數,es可以得到易於識別的json結果)
curl -XGET http://localhost:9200/company/employee/1?pretty
curl后添加-i參數,就能得到反饋頭文件
curl -i 'http://localhost:9200/company/employee/1?pretty'
檢索文檔中的一部分,只顯示name,age字段
curl -XGET http://localhost:9200/company/employee/1?_source=name,age
如果只需要source的數據
curl -XGET http://localhost:9200/company/employee/1/_source
查詢全部(默認返回前面的10個)
curl -XGET http://localhost:9200/company/employee/_search?pretty
根據條件進行查詢
curl -XGET http://localhost:9200/company/employee/_search?q=last_name:Smith
使用mget API獲取多個文檔
curl -XGET http://localhost:9200/_mget?pretty -d '{
"docs":[{
"_index":"company",
"_type":"emp",
"_id":2,
"_source":"name"
},{
"_index":"website",
"_type":"blog",
"_id":2
}]}'
如果只想檢查一下文檔是否存在,你可以使用HEAD來替代GET方法,這樣就只會返回HTTP頭文件:
curl -i -XHEAD http://localhost:9200/company/employee/1
Elasticsearch的版本控制
首先得到需要修改的文檔,獲取版本(_version)號
curl -XGET http://localhost:9200/company/employee/1
在執行更新操作的時候把版本號傳過去
curl -XPUT http://localhost:9200/company/employee/1?version=2 -d '{"name":"zs","age":25}'
(覆蓋)
curl -XPOST http://localhost:9200/company/employee/1/_update?version=3 -d '{"doc":{"city":"beijing","car":"BMW"}}'
(部分更新)
刪除索引
curl -XDELETE http://localhost:9200/company
查看type的元數據(數據類型...)
curl -XGET 'http://localhost:9200/index1/_mapping/type1?pretty'
