ELK 設置定時清理腳本清理索引
657
2025-03-31
REST 簡介-定義
REST (REpresentation State Transfer)描述了一個架構樣式的網絡系統,比如 web 應用程序。它首次出現在 2000 年 Roy Fielding 的博士論文中,他是 HTTP 規范的主要編寫者之一。REST 指的是一組架構約束條件和原則。滿足這些約束條件和原則的應用程序或設計就是 RESTful。
Web 應用程序最重要的 REST 原則是,客戶端和服務器之間的交互在請求之間是無狀態的。從客戶端到服務器的每個請求都必須包含理解請求所必需的信息。如果服務器在請求之間的任何時間點重啟,客戶端不會得到通知。此外,無狀態請求可以由任何可用服務器回答,這十分適合云計算之類的環境??蛻舳丝梢跃彺鏀祿愿倪M性能。
在服務器端,應用程序狀態和功能可以分為各種資源。資源是一個有趣的概念實體,它向客戶端公開。資源的例子有:應用程序對象、數據庫記錄、算法等等。每個資源都使用 URI (Universal Resource Identifier) 得到一個惟一的地址。所有資源都共享統一的界面,以便在客戶端和服務器之間傳輸狀態。使用的是標準的 HTTP 方法,比如 GET、PUT、POST 和 DELETE。
REST 簡介-資源
REST 簡介-基本操作
1)GET 獲取對象的當前狀態
2)PUT 改變對象的狀態
3)POST 創建對象
4)DELETE 刪除對象
5)HEAD 獲取頭信息
REST 簡介-資源
ES 內置的REST接口
elasticsearch-CURL命令
簡單認為是可以在命令行下訪問url的一個工具
curl是利用URL語法在命令行方式下工作的開源文件傳輸工具,使用curl可以簡單實現常見的get/post請求。
Curl的使用
1)-X 指定http請求的方法GET POST PUT DELETE
2)-d 指定要傳遞的參數
elasticsearch-CURL命令-建立索引庫
curl -XPUT 'http://master:9200/dwq/'
PUT/POST都可以
示例:
curl -XPOST http://master:9200/dwq/user/1 -d '{"name" : "john","age" : 28}'
ElasticSearch-CURL命令-PUT與POST對比
PUT是冪等方法,而POST并不是。所以PUT用于更新操作、POST用于新增操作比較合適。
PUT,DELETE操作是冪等的。所謂冪等是指不管進行多少次操作,結果都一樣。比如我用PUT修改一篇文章,然后在做同樣的操作,每次操作后的結果并沒有不同,DELETE也是一樣。
POST操作不是冪等的,比如常見的POST重復加載問題:當我們多次發出同樣的POST請求后,其結果是創建出了若干的資源。
還有一點需要注意的就是,創建操作可以使用POST,也可以使用PUT,區別在于POST是作用在一個集合資源之上的(/articles),而PUT操作是作用在一個具體資源之上的(/articles/123),比如說很多資源使用數據庫自增主鍵作為標識信息,而創建的資源的標識信息到底是什么只能由服務端提供,這個時候就必須使用POST。
ElasticSearch-CURL命令-創建索引注意事項
索引庫名稱必須要全部小寫,不能以下劃線開頭,也不能包含逗號
如果沒有明確指定索引數據的ID,那么es會自動生成一個隨機的ID,需要使用POST參數
curl -XPOST http://master:9200/dwq/user/ -d '{"name" : "john"}'
創建全新內容的兩種方式:
1)使用自增ID(post)
2)在url后面添加參數(get)
curl -XPUT http://master:9200/dwq/user/2?op_type=create -d '{"name":"john","age":28}'
curl -XPUT http://master:9200/dwq/user/2/_create -d '{"name":"john","age":28}'
ElasticSearch-CURL命令-查詢索引GET
1.根據員工id查詢
curl -XGET http://master:9200/dwq/user/1?pretty
在任意的查詢字符串中添加pretty參數,es可以得到易于識別的json結果。
2.檢索文檔中的一部分,如果只需要顯示指定字段
curl -XGET 'http://master:9200/dwq/user/1?_source=name,age&pretty'
3.查詢指定索引庫指定類型所有數據
curl -XGET http://master:9200/dwq/user/_search
4.根據條件進行查詢
curl -XGET http://master:9200/dwq/user/_search?q=name:john
ElasticSearch-CURL命令-DSL查詢
Domain Specific Language領域特定語言
新添加一個文檔
curl -XPUT http://master:9200/dwq/user/3/_create -d '{"name":"lily","age":18}‘
curl -XGET http://master:9200/dwq/user/_search -d'{"query":{"match":{"name":"lily"}}}'
ElasticSearch-CURL命令-MGET查詢
1.使用mget API獲取多個文檔
先新建一個庫
curl -XPUT 'http://master:9200/dwq2/'
curl -XPOST http://master:9200/dwq2/user/1 -d '{"name" : "lucy","age" : 18}'
curl -XGET http://master:9200/_mget?pretty -d
'{"docs":[{"_index":"dwq","_type":"user","_id":2,"_source":"name"},{"_index":"dwq2","_type":"user","_id":1}]}'
2.如果需要的文檔在同一個_index或者同一個_type中,你就可以在URL中指定一個默認的/_index或者/_index/_type
curl -XGET http://master:9200/dwq/user/_mget?pretty -d '{"docs":[{"_id":1},{"_id":2}]}'
3.如果所有的文檔擁有相同的_index 以及 _type,直接在請求中添加ids的數組即可
curl -XGET http://master:9200/dwq/user/_mget?pretty -d '{"ids":["1","2"]}'
全文檢索 Elasticsearch
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。