用REST API 操做elasticsearch中數據

1、什麼是Elasticsearchhtml

ElasticSearch是一個基於Lucene的搜索服務器。它提供了一個分佈式多用戶能力的全文搜索引擎,基於RESTful web接口。Elasticsearch是用Java開發的,並做爲Apache許可條款下的開放源碼發佈,是當前流行的企業級搜索引擎。設計用於雲計算中,可以達到實時搜索,穩定,可靠,快速,安裝使用方便。

2、ElasticSearch 安裝配置使用入門
一、下載elasticsearch 解壓到沒有漢字的目錄下,提示:首先安裝JDKweb

二、運行elasticSearch/bin/elasticsearch.bat 文件,出現以下圖所示的響應,表示安裝成功。

三、將Elasticsearch註冊到window的服務上,不用每次啓動Elasticsearchshell

安裝:install
啓動:start
中止:stop
卸載:remove
四、訪問 http://127.0.0.1:9200 出現以下圖所示的響應,表示安裝成功
3、CURL命令操做執行REST命令
要理解本教程的全部示例,須要在您的系統上安裝 Elasticsearch。下載針對您的平臺的 最新 Elastic Search 程序包。將該包解壓到一個方便的位置。
在 Windows 上,運行elastic-search-dir/bin/elasticsearch.bat
3.1. Windows安裝CURL
第一步:工具下載:
  在官網處下載工具包:http://curl.haxx.se/download....數據庫

下載後:服務器

爲了方便運行,不出現中文路徑,解壓後放置到D盤software目錄下框架

第二步:安裝
【使用方式一】:在curl.exe目錄中使用
  解壓下載後的壓縮文件,經過cmd命令進入到curl.exe所在的目錄。
  進入到該目錄後,執行curl --help測試:curl

【使用方式二】:放置在system32中
  解壓下載好的文件,拷貝curl.exe文件到C:WindowsSystem32
而後就能夠在DOS窗口中任意位置,使用curl命令了。elasticsearch

【使用方式三】:配置環境變量(推薦)
  在系統高級環境變量中,配置
  CURL_HOME ----- "你的curl目錄位置"
  path ---- 末尾添加 「;%CURL_HOME%;」
  這樣與上面方式二的效果相同。分佈式

能夠對 Elasticsearch 發出 CURL 請求,這樣很容易從命令行 shell 體驗該框架。
Elasticsearch 是無模式的,這意味着它能夠接受您提供的任何命令,並處理它以供之後查詢。Elasticsearch 中的全部內容都被存儲爲文檔,因此您的第一個練習是存儲一個包含博客的文檔。首先建立一個索引,它是您的全部文檔類型的容器 — 相似於 MySQL 等關係數據庫中的數據庫。而後,將一個文檔插入該索引中,以即可以查詢該文檔的數據。工具

3.2 建立一個索引

Elasticsearch 命令的通常格式是:REST VERBHOST:9200/index/doc-type— 其中 REST VERB 是 PUT、GET 或DELETE。(使用 cURL -X 動詞前綴來明確指定 HTTP 方法。)

要建立一個索引,可在您的 shell 中運行如下命令:
[AppleScript] 純文本查看 複製代碼
?
1
curl -XPUT "http://localhost:9200/blog01/"

儘管 Elasticsearch 是無模式的,但它在幕後使用了 Lucene,後者使用了模式。不過 Elasticsearch 爲您隱藏了這種複雜性。實際上,您能夠將 Elasticsearch 文檔類型簡單地視爲子索引或表名稱。可是,若是您願意,能夠指定一個模式,因此您能夠將它視爲一種模式可選的數據存儲。
【查看】

3.3 插入一個文檔
要在 /blog01 索引下建立一個類型,可插入一個文檔。
要將包含 「Deck the Halls」 的文檔插入索引中,可運行如下命令(將該命令和本教程的其餘 CURL 命令都鍵入到一行中):
[AppleScript] 純文本查看 複製代碼
?
1
curl -XPUT "http://localhost:9200/blog01/article/1" -d "{"""id""": """1""", """title""": """Whatiselasticsearch"""}"

前面的命令使用 PUT 動詞將一個文檔添加到 /article文檔類型,併爲該文檔分配 ID 爲1。URL 路徑顯示爲index/doctype/ID(索引/文檔類型/ID)。

3.4 查看文檔
要查看該文檔,可以使用簡單的 GET 命令:
[AppleScript] 純文本查看 複製代碼
?
1
curl -XGET "http://localhost:9200/blog01/article/1"

3.5 更新文檔
若是您認識到title字段寫錯了,並想將它更改成 Whatislucene 怎麼辦?可運行如下命令來更新文檔:
[AppleScript] 純文本查看 複製代碼
?
1
curl -XPUT "http://localhost:9200/blog01/article/1" -d "{"""id""": """1""", """title""": """Whatislucene"""}"

由於此命令使用了相同的惟一 ID爲1,因此該文檔會被更新。

3.6 搜索文檔
是時候運行一次基本查詢了,此查詢比您運行來查找 「Get the Halls」 文檔的簡單 GET 要複雜一些。文檔 URL 有一個內置的 _search 端點用於此用途。在標題中找到全部包含單詞 lucene 的數據:

[AppleScript] 純文本查看 複製代碼
?
1
curl -XGET "http://localhost:9200/blog01/article/_search?q=title:'whatislucene'"

3.7 刪除文檔

暫時不要刪除該文檔,知道如何刪除它就好了:
[AppleScript] 純文本查看 複製代碼
?
1
curl -XDELETE "http://localhost:9200/blog01/article/1"

3.8 刪除索引暫時不要該索引,知道如何刪除它就好了:[AppleScript] 純文本查看 複製代碼?1curl -XDELETE "http://localhost:9200/blog01"

相關文章
相關標籤/搜索