1. 程式人生 > >ElasticSearch教程(一)——簡介與安裝

ElasticSearch教程(一)——簡介與安裝

背景

公司一直在使用ES作為分散式的搜尋引擎,由於資料量的不斷升高,ES出現了效能瓶頸。公司決定進一步的優化ES配置,所以最近幾天在研究ES,最近會更新一系列ES的教程,希望大家持續關注。不多說了,Action。

簡介

ElasticSearch一個基於Lucene的搜尋伺服器。它提供了一個分散式多使用者能力的全文搜尋引擎,基於RESTful web介面。它是用Java開發的,是當前流行的企業級搜尋引擎。設計用於雲端計算中,能夠達到實時搜尋,穩定,可靠,快速,安裝使用方便。

ElasticSearch的特性:

對於ES的特性,我是從官網翻譯過來,如果有不妥的地方,希望大家提出寶貴的建議。

  1. 開源的(不解釋)
  2. 它是分散式和高度可用的搜尋引擎。
    1. 每個索引根據配置分片的數量完成完全分片。
    2. 每個碎片都可以有一個或多個副本。
    3. 讀/搜尋操作可以在任何複製分片上執行。
  3. 支援多租戶與多種型別。
    1. 支援一個以上的索引。
    2. 支援一個以上的每個索引型別。
    3. 指數級配置(數量的碎片,索引儲存,…)。
  4. 各種組api
    1. HTTP RESTful API
    2. 本地Java API。
    3. 所有api執行自動從路由節點操作。
  5. 面向文件的
  6. 可靠非同步寫操作長期持續。
  7. (附近)實時搜尋。
  8. 基於Lucene
    1. 每個碎片都是一個功能齊全的Lucene索引
    2. 所有Lucene通過簡單的配置/外掛非常容易的暴露出來。
  9. 每個操作的一致性
    1. 單文件級別操作都是原子的、一致的、孤立的和持久的。

對於ES瞭解一個大概情況就可以了。下面我們下載和安裝ES(我們以windows作業系統和Elasticsearch 2.3.1為例,其實在linux上安裝沒有區別):

下載

Elasticsearch的所有版本都有四種打包格式:ZIP、TAR、DEB、RPM,我們使用ZIP就可以了。
這裡寫圖片描述

目錄結構

這裡寫圖片描述

bin:可以執行檔案
config:配置檔案
data:es存放資料的檔案
lib:執行所需類庫
logs:日誌檔案
modules:載入模組列表(其實是必要外掛)
plugins:外掛檔案(需要自定義安裝)

注:剛解壓的ES並沒有這麼多目錄,只有bin、config、lib、modules,其他都是在第一次執行之後自動生成的。

安裝步驟

  1. Download and unzip the latest Elasticsearch distribution

    下載最新Elasticsearch版本,解壓到指定目錄。

  2. Run bin/elasticsearch on Unix or bin\elasticsearch.bat on Windows

    在Unix上執行bin/elasticsearch或者在Windows上執行bin\elasticsearch.bat(命令列,進入 cd E:\ES\elasticsearch-2.3.1\bin 目錄或者直接雙擊elasticsearch.bat執行)

執行測試

在瀏覽器裡測試一下:
這裡寫圖片描述

如果你得到的status是200那它意味著所有的事情都ok啦…是不是很簡單?
讓我們看看JSON的每個欄位代表的含義:
Ok:當為true時,意味著請求成功。
Status:發出請求後的HTTP的錯誤程式碼。200表示一切正常。
Name:我們Elasticsearch例項的名字。在預設情況下,它將從一個巨長的名字列表中隨機選擇一個。
Version:這個物件有一個number欄位,代表了當前執行的Elasticsearch版本號,和一個Snapshot_build欄位,代表了你當前執行的版本是否是從原始碼構建而來。
Tagline:包含了Elasticsearch的第一個tagline: “You Know, for Search.”