ElasticSearch全文檢索__ ElasticSearch 基本操作

      網友投稿 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的一個工具

      ElasticSearch全文檢索__ ElasticSearch 基本操作

      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小時內刪除侵權內容。

      上一篇:Word 2010中表格的數據統計方法(word文檔)
      下一篇:表格和文本框如何組合(文本框與表格如何進行組合)
      相關文章
      亚洲视频在线观看一区| 亚洲精品tv久久久久| 亚洲国产高清美女在线观看| 亚洲中文字幕无码一区| 亚洲国产成人手机在线观看| 亚洲成年人电影网站| 亚洲国产国产综合一区首页| 亚洲大成色www永久网站| 亚洲第一AV网站| 亚洲AV无码精品色午夜果冻不卡| 国产亚洲高清不卡在线观看| 亚洲日本乱码在线观看| 亚洲精品午夜无码专区| 国产成人A亚洲精V品无码| 中文字幕亚洲乱码熟女一区二区| 一本色道久久综合亚洲精品高清| 亚洲片国产一区一级在线观看| 亚洲色偷拍区另类无码专区| 精品亚洲一区二区三区在线观看| 2048亚洲精品国产| 亚洲一区无码中文字幕| 亚洲VA成无码人在线观看天堂| 亚洲AV无码一区二区三区系列| 亚洲av日韩av激情亚洲| 久久久亚洲欧洲日产国码aⅴ| 亚洲美女视频一区| 亚洲妇女水蜜桃av网网站| 亚洲人成在线免费观看| 中文字幕在线观看亚洲日韩| 亚洲国产高清国产拍精品| 内射无码专区久久亚洲| 午夜亚洲国产精品福利| 国产成人精品久久亚洲高清不卡 | 中文字幕亚洲一区二区va在线| 国产亚洲色婷婷久久99精品| 亚洲精品高清国产一久久| 亚洲最大黄色网址| 亚洲熟妇无码av另类vr影视| 国产午夜亚洲精品不卡| 伊人久久大香线蕉亚洲五月天| 久久精品国产亚洲AV果冻传媒|