1. 程式人生 > >1 ElasticSearch篇之入門

1 ElasticSearch篇之入門

文章目錄

常用術語

·文件Document
  -使用者儲存在es中的資料文件
·索引 Index
  -由具有相同欄位的文件列表組成
·節點Node
  -一個Elasticsearch的執行例項,是叢集的構成單元
·叢集Cluster
  -由一個或多個節點組成,對外提供服務

Document介紹

. Json Object,由欄位( Field )組成,常見資料型別如下
  -字串: text, keyword
  -數值型: long, integer, short, byte, double, float, half float, scaled-float
  -布林: boolean
  -日期: date.二進位制: binary
  -範圍型別: integer_range, float range, long-range, double_range, date range
  
注意text是分詞的;keyword是不分詞的。

每個文件有唯一的id標識
  -自行指定
  -es自動生成

在這裡插入圖片描述

Document MetaData

·元資料,用於標註文件的相關資訊
  -_index:文件所在的索引名,
  -_type:文件所在的型別名,
  -_id:文件唯-id
  -_uid:組合id ,由-type和_id組成(6.x-type不再起作用,同_id一樣)
  -_source:文件的原始Json資料,可以從這裡獲取每個欄位的內容,
  -_all:整合所有欄位內容到該欄位,預設禁用

Index介紹

·索引中儲存具有相同結構的文件(Document)
  -每個索引都有自己的mapping定義,用於定義欄位名和型別
·一個叢集可以有多個索引,比如:
  -nginx日誌儲存的時候可以按照日期每天生成一個索引來儲存
   nginx-log-2017-01-01
   nginx-log-2017-01-02
   nginx-log-2017-01-03

restapi介紹

. Elasticsearch叢集對外提供RESTful API
  -REST - REpresentational State Transfer
  -URI指定資源,如Index, Document等
  -Http Method指明資源操作型別,如GET, POST, PUT, DELETE等
·常用兩種互動方式
  -Curl命令列(curl是利用URL語法在命令列方式下工作的開原始檔傳輸工具,使用curl可以簡單實現常見的get/post請求。簡單的認為是可以在命令列下面訪問url的一個工具。在centos的預設庫裡面是有curl工具的,如果沒有請yum安裝即可。 )
  -Kibana DevTools
在這裡插入圖片描述

index_api

.es有專門的Index API ,用於建立、更新、刪除索引配置等

-建立索引api如下:
在這裡插入圖片描述
-刪除索引api如下:
在這裡插入圖片描述

document_api

建立文件

-指定id建立文件api如下:
在這裡插入圖片描述
-不指定id建立文件如下:
在這裡插入圖片描述
查詢文件

-指定要查詢的文件id
在這裡插入圖片描述
-搜尋所有文件,用到_search,如下:
在這裡插入圖片描述

在這裡插入圖片描述
批量建立文件API
.es允許一次建立多個文件,從而減少網路傳輸開銷,提升寫入速率
-endpoint為_bulk ,如下:
在這裡插入圖片描述

在這裡插入圖片描述
批量查詢文件API

es允許一次查詢多個文件
-endpoint為_mget,如下:

在這裡插入圖片描述