es_數據基本操作_1


第一.導入測試數據

1.創建一個索引庫(如果使用)

** windows下需要使用\" **

curl -XPUT "localhost:9200/fendo"

2.導入es官網官網測試數據accounts.json

curl -H "Content-Type:application/json" -XPOST "localhost:9200/fendo/account/_bul_bulk?pretty' --data-binary "@/tools/elasticsearch-6.6.2/accounts.json"

注意:

1 這里使用的時絕對路徑,如果使用相對路徑需要在accounts.json所在的目錄運行curl命令—— @/accounts.json

2 localhost:9200是ES的訪問地址和端口

3 fendo是索引的名稱

4 account是類型的名稱

5 索引和類型的名稱在文件中如果有定義,可以省略;如果沒有則必須要指定

6 _bulk是rest得命令,可以批量執行多個操作(操作是在json文件中定義的,原理可以參考之前的翻譯)

7 pretty是將返回的信息以可讀的JSON形式返回

第二.基本操作

a.插入

** 這里的json數據,window執行總是提示json格式問題,第一個采用拼接字符串,第二個采用轉義字符 **

curl -H "Content-Type:application/json" -XPUT "http://localhost:9200/test/es/1?pretty" -d "{"""first_name""":"""fendo"""}"

或者

curl -H "Content-Type:application/json" -XPUT "http://localhost:9200/test/es/1?pretty" -d "{\"first_name\":\"fendo\"}"
返回的結果
{
"_index" : "test", //我們上文中指定的index —— test "_type" : "es", // 我們上文中指定的type —— es "_id" : "1", // 我們上文中指定的id —— 1 "_version" : 6, // 這里我已經執行了5次,從1開始,版本號每次新增一個 "result" : "updated", // 這里執行的是更新操作 "_shards" : { "total" : 2, "successful" : 1, "failed" : 0 }, "_seq_no" : 5, // 從0開始,每次增加一個 "_primary_term" : 1 }

b.查詢

1.查詢所有

curl "localhost:9200/test/_search?q=*&pretty"

其中test是查詢的索引名稱,q后面跟着搜索的條件{我好像傳啥都返回空},q=*表示查詢所有的內容

2.請求體方式

curl -H "Content-type:application/json" "localhost:9200/test/_search?pretty" -d "{\"query\":{\"match_all\": {}}}"

把查詢的內容放入body體中,會造成一定的開銷

3.根據索引來查詢

curl -XGET "localhost:9200/test/es/1?pretty"

c.更新

curl -H "Content-type:application/json" -XPUT "localhost:9200/test/es/1" -d "{\"last_name\":\"fk\"}"

更新接口與創建接口完全一樣,ES會查詢記錄是否存在,如果不存在就是創建,存在就是更新操作。

d.刪除

curl -XDELETE "localhost:9200/test/es/1?pretty"

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM