天天看點

【資料庫系列】Elasticsearch基本操作

一 前言

【資料庫系列】上篇我們講到如何Elasticsearch是什麼以及如何搭建,那麼本篇我們來講講Elasticsearch的基本操作。

我在剛開始工作時,公司就是用的Elasticsearch做數倉,當時在學校隻學過Mysql,對于Elasticsearch完全沒有一點概念,造數全靠開發寫好的腳本,總之當時對這一塊就很懵逼。

然後在後面對MySql逐漸熟練之後,再重新學習Elasticsearch,将學習MySql的經驗套用過來,才發現可以這麼好的了解

Elasticsearch -> Indeces(索引) -> Types(類型) -> Documents(文檔) -> Fields(屬性)  
關系型資料庫 -> Databases(庫) -> Tables(表) -> Rows(行) -> Columns(列)           

複制

二 索引操作

1、API檢測叢集是否健康

方法:get

請求:http://127.0.0.1:9200/_cat/health?v

響應:

【資料庫系列】Elasticsearch基本操作

2、擷取叢集的節點清單

方法:get

請求:http://127.0.0.1:9200/_cat/nodes?v

響應:

【資料庫系列】Elasticsearch基本操作

3、建立索引

方法:put

請求:http://127.0.0.1:9200/person

注意:預設情況下,建立的索引分片數量是 5 個,副本數量是 1 個。可以通過如下方式修改預設值:number_of_shards 分片 number_of_replicas 備份

{  "settings": {    "number_of_shards": 6,     "number_of_replicas": 2   }}           

複制

響應:

【資料庫系列】Elasticsearch基本操作

4、檢視所有索引

方法:get

請求:http://127.0.0.1:9200/_cat/indices?v

響應:

【資料庫系列】Elasticsearch基本操作

說明:這裡請求路徑中的_cat 表示檢視的意思,indices 表示索引,是以整體含義就是檢視目前伺服器中的所有索引。

響應字段 說明
health green(叢集完整) yellow(單點正常、叢集不完整) red(單點不正常)
status 是否能使用
index 索引名
uuid 索引統一編号
pri 主節點幾個
rep 從節點幾個
docs.count 文檔數
docs.deleted 文檔被删了多少
store.size 整體占空間大小
pri.store.size 主節點占空間

5、檢視單個索引

方法:get

請求:http://127.0.0.1:9200/person

響應:

【資料庫系列】Elasticsearch基本操作

6、删除索引

方法:delete

請求:http://127.0.0.1:9200/person

響應:

【資料庫系列】Elasticsearch基本操作

三 文檔操作

文檔:即索引庫中某個類型下的資料,類比做資料庫中的每一行資料。

1、建立文檔

方法:post

請求:http://127.0.0.1:9200/person/_doc/1

{    "name":"張藝興",    "age":30}           

複制

響應:

【資料庫系列】Elasticsearch基本操作

說明:此處發送請求的方式必須為 post,不能是 put,否則會發生錯誤。這裡是因為put是一個幂等的請求,post生成的id是随機的。使用JMeter建立文檔時注意設定編碼:utf-8,否則中文會變成???

2、檢視單個文檔

方法:get

請求:http://127.0.0.1:9200/person/_doc/1

響應:

【資料庫系列】Elasticsearch基本操作

說明:檢視文檔時,需要指明文檔的唯一性辨別,類似于 MySQL 中資料的主鍵查詢。

3、檢視多個文檔

方法:get

請求:http://127.0.0.1:9200/mapping/_search

響應:

【資料庫系列】Elasticsearch基本操作

4、修改文檔

方法:post

請求:http://127.0.0.1:9200/person/_doc/1

{  "name":"張藝興超級帥!",  "age":300}           

複制

響應:

【資料庫系列】Elasticsearch基本操作

5、删除文檔

方法:delete

請求:http://127.0.0.1:9200/person/_doc/1

響應:

【資料庫系列】Elasticsearch基本操作

四 總結

我發現學新技術沒以前這麼坎坷了,可以很快的上手悟出來,這個因為在學習其它技術過程中提升了自己的總結能力,形成了一個正向循環的過程,這種感覺太棒了!

下篇我們來講講如何用Java來操作Elasticsearch~