1. es基礎
1.1 es定義
Elasticsearch是一個基於Lucene的搜索服務器。它提供了一個分布式多用戶能力的全文搜索引擎,基於RESTful web接口
es相當於數據庫,沒有數據格式約束。
1.2 ES數據架構的主要概念(與關系數據庫Mysql對比)

(1)關系型數據庫中的數據庫(DataBase),等價於ES中的索引(Index)
(2)一個數據庫下面有N張表(Table),等價於1個索引Index下面有N多類型(Type),
(3)一個數據庫表(Table)下的數據由多行(ROW)多列(column,屬性)組成,等價於1個Type由多個文檔(Document)和多Field組成。
(4)在一個關系型數據庫里面,schema定義了表、每個表的字段,還有表和字段之間的關系。 與之對應的,在ES中:Mapping定義索引下的Type的字段處理規則,即索引如何建立、索引類型、是否保存原始索引JSON文檔、是否壓縮原始JSON文檔、是否需要分詞處理、如何進行分詞處理等。
(5)在數據庫中的增insert、刪delete、改update、查search操作等價於ES中的增PUT/POST、刪Delete、改_update、查GET.
2. ES特點和優勢
1)分布式實時文件存儲,可將每一個字段存入索引,使其可以被檢索到。
2)實時分析的分布式搜索引擎。
分布式:索引分拆成多個分片,每個分片可有零個或多個副本。集群中的每個數據節點都可承載一個或多個分片,並且協調和處理各種操作;
負載再平衡和路由在大多數情況下自動完成。
3)可以擴展到上百台服務器,處理PB級別的結構化或非結構化數據。也可以運行在單台PC上(已測試)
4)支持插件機制,分詞插件、同步插件、Hadoop插件、可視化插件等。
3. 如何部署es
3.1必要工具
elasticsearch、es-head、kibana
3.2環境
jdk1.7以上
node.js
3.3es下載安裝
#es : nosql型的數據庫
官網的下載地址 https://www.elastic.co/cn/downloads/elasticsearch window系統 百度網盤: https://pan.baidu.com/s/1ZjRyivbtE-bzLWzvBqfJgw 提取碼: totp linux系統 百度網盤: https://pan.baidu.com/s/1oBsZRlJ-D8KfNLTrs1FVZA 提取碼: t34k 解決跨域問題: 編輯 elasticsearch-7.6.0\config http.cors.enabled: true http.cors.allow-origin: "*"
啟動:elasticsearch-7.6.2\bin\elasticsearch.bat
#檢查
http://localhost:9200/

3.4 es-head下載安裝
#es-head :操作es數據庫的客戶端
https://github.com/mobz/elasticsearch-head #在根目錄中,運行 #修改安裝鏡像為阿里雲鏡像 npm install -g cnpm --registry=https://registry.npm.taobao.org #安裝依賴項 cnpm install #啟動項目 npm run start #查看頁面 localhost:9100

3.5 kibana下載,使用
#kibana : 使用restful接口對es數據庫操作,crud
window系統 百度網盤: https://pan.baidu.com/s/1oT8XojOmiKE0CxWMyl2JKA 提取碼: lcu7 linux系統 百度網盤: https://pan.baidu.com/s/1JKzseI1gL1dJcIrhs14-wA 提取碼: qbri #中文化處理 #編輯config下的kibana.yml i18n.locale: "zh-CN"
#使用
localhost:5601
http://localhost:5601/app/kibana#/dev_tools/console
參考:
