1. 程式人生 > 實用技巧 >第二章、Elasticsearch 教程: 簡介及其安裝前的準備工作

第二章、Elasticsearch 教程: 簡介及其安裝前的準備工作

簡介

Elasticsearch 使用 Java 語言開發,使用 Elastic 開源協議,實時分散式開源的全文搜尋和分析引擎;

Elasticsearch 通過 RESTful Web 服務介面訪問,並使用 JSON 文件來儲存資料;

Elasticsearch 使用 Java 作為開發語言,但卻能夠跨平臺執行,可以使用者非常快速的探索大量的資料。

Elasticsearch官網

Elasticsearch 的官方網址是: https://www.elastic.co/products/elasticsearch

Elasticsearch 的下載地址是: https://www.elastic.co/downloads/elasticsearch

Elasticsearch 的特性

  1. 安裝方便:沒有其他依賴,下載後安裝非常方便;只用修改幾個引數就可以搭建起來一個叢集
  2. JSON:輸入/輸出格式為 JSON,意味著不需要定義 Schema,快捷方便
  3. RESTful:基本所有操作 ( 索引、查詢、甚至是配置 ) 都可以通過 HTTP 介面進行
  4. 分散式:節點對外表現對等(每個節點都可以用來做入口),加入節點自動均衡
  5. 多租戶:可根據不同的用途分索引;可以同時操作多個索引
  6. 支援超大資料: 可以擴充套件到 PB 級的結構化和非結構化資料
  7. Elasticsearch 可以用來替代 MongoDB 和 RavenDB 等文件資料庫

說了這麼多,其實只有一個優點: 如果想要建立自己的搜尋引擎,那麼 Elasticsearch 是唯一的不可替代的方案,沒有之一

Elasticsearch 優點

  1、Elasticsearch 使用 Java 作為開發語言,所以可以執行在任何平臺上
  2、Elasticsearch 是實時的,換句話說,就是在添加了文件後就可以立刻搜尋到剛剛新增的文件
  3、Elasticsearch 是分散式的,可以輕鬆擴充套件並整合到任何大型組織中
  4、通過使用 Elasticsearch 中的閘道器概念,輕鬆建立完整備份
  5、與 Apache Solr 相比,Elasticsearch 中處理多租戶非常容易
  6、Elasticsearch 使用 JSON 物件作為響應,這是當下最流行的資料交換格式
  7、Elasticsearch 幾乎支援所有文件型別,但不能渲染的文字除外,例如二進位制資料

Elasticsearch 缺點

  1、與 Apache Solr 不同,Elasticsearch 在處理請求和響應資料方面不支援多種資料格式,也就是說只支援 JSON

  Apache Solr 支援多種資料傳輸格式,比如 CSV,XML 和 JSON 格式

  2、Elasticsearch 也存在腦裂 ( Split-Brain ) 的情況,但發生的可能性很少

  Split-Brain,中文一般翻譯為腦裂,腦裂問題就是產生了兩個 leader,導致叢集行為不一致

準備工作(Window/Linux)

使用 Elasticsearch 的第一步,就是先把它裝起來,而得益於使用 Java 作為開發語言,安裝 Elasticsearch 就非常簡單,因為 Java 可以跨平臺執行,所以 Elasticsearch 天生就是可以跨平臺的。

安裝Java和Node.js

安裝Java

Windows安裝

注意:安裝有壓縮版和安裝版兩種安裝方式,因個人而異

安轉完成後,在cmd裡面輸入Java -version,跳出版本號,則安裝成功

Linux安裝

安裝教程:https://www.cnblogs.com/MrZhangxd/p/12634155.html

注:以阿里雲安裝為例,阿里雲部署為Centos7系統。

安裝Node.js

Node.js安轉教程:https://www.cnblogs.com/aizai846/p/11441693.html
Node.js安裝教程:https://www.cnblogs.com/chenhaoyu/p/10237505.html

下載Elasticsearch

下載官網上面已經提到了,下載版本自己選就可以。

鳴謝

https://www.cnblogs.com/aizai846/p/11441693.html
https://www.cnblogs.com/chenhaoyu/p/10237505.html

借用以上兩博主的安裝教程【Node.js安裝教程(Windows/Linux)】