搜索引擎Elasticsearch,了解一下?


ElasticSearch介紹

ElasticSearch是一個全文搜索服務器,也可以作為NoSql數據庫,存儲任意格式的文檔和數據,同時可以做大數據的分析。ElasticSearch具有以下特點:

  1. 全文搜索引擎,ES是簡歷在Lucebe上的開元索索引擎,可以用來進行全文搜索、地理信息搜索

  2. 文檔存儲和查詢,可以向NoSql那樣存儲任意格式的文檔,並能根據條件查詢文檔

  3. 大數據分析,ES號稱能准確實時地進行大數據分析,數據量從TB到PB

  4. ES提供了REST API,用來簡化對ES的操作,因此可以使用任何語言的哭護短,同時也提供了Java API,Spring Boot對REST API進行了封裝,簡化了開發

  5. ES常常配合傳統數據庫一起使用,ES用來負責大數據的查詢、搜索、統計分析等。

ElasticSearch中的基本概念

掌握ES中的基本概念是理解ES的第一步

  1. Index: index是文檔(Document)的集合,index下面包含了Type,用於對文檔進一步分類,可以理解為ES中的Index相當於數據庫,Type相當於數據庫中的表,Es中可以輕易地聯合Index和Type來搜索數據,數據庫卻不能。

  2. Type:用來進一步組織Document,一個Index下可以有多個Type,比如用戶信息是一個Type,用戶的支付記錄是一個Type

  3. Document:文檔是ES能夠存儲和搜索的基本信息,類似數據庫表行數據,Document為Json格式,文檔屬於Type

  4. Node:節點是集群里的一台ES Server,用於文檔的存儲和查詢。應用可以只有一個節點,也可以是由多個節點組成的集群來存儲和搜索數據。每個節點都有一個節點名字,以及所屬集群的名字。

  5. 集群:同樣集群名的節點將組合為ES集群,用來聯合完成數據的存儲和搜索。默認的集群名字是elasticsearch。

  6. Shards(分區)和Replicas(復制):每個Index理論上都可以包含大量的數據,超過了單個節點的存儲限制,而且單個節點處理那么大的數據,將明顯限制存儲和搜索性能,為了解決這個問題,ES會進一步將Index在物理上細分為多個分區,而且這些分區會按照配置賦值到多個節點,Index的分區稱為主分區,復制的分區稱為復制分區,這樣的好處是保證數據不丟失,且提高了查詢性能。

Windows下ElasticSearch環境安裝

  1. 下載ElasticSearch

進入ElasticSearch官網: https://www.elastic.co/downloads/elasticsearch,下載windows版安裝包zip,下載當前最新的版本 6.4.0的。

  2. 安裝ElasticSearch之前確認系統已經安裝了JDK1.8以上的版本,ElasticSearch的運行依賴JDK語言環境,解壓安裝包到指定的目錄,此處我放在C盤。

  3. 啟動elasticsearch:進入安裝目錄C:\elasticsearch-6.4.0\bin執行elasticsearch.bat,正確啟用后顯示如下:

瀏覽器中打開正常顯示:

  4. 安裝ElasticSearch-head插件

Elasticsearch Head是一款集群管理、數據可視化、增刪改查、查詢語句可視化工具。

    4.1 elasticsearch-head插件依賴node環境,所以我們還得先安裝node環境:

進去官網https://nodejs.org/en/download/ 下載Windows版安裝包,此處下載的是最新版8.11.4,默認安裝,一直next.

安裝完成后dos窗口輸入 node –v 命令驗證一下是正確安裝:

    4.2 安裝grunt構建工具:安裝grunt工具的作用是通過該工具來氣功head插件

在dos窗口進入node安裝目錄,通過npm命令來安裝grunt:npm install -g grunt-cli, 安裝完成后通過grunt –version顯示版本號則正常安裝

    4.3 安裝elasticsearch-head插件

 進入github地址下載插件https://github.com/mobz/elasticsearch-head,此處我將安裝包解壓到C:\elasticsearch-head-master

修改服務器監聽地址: 修改C:\elasticsearch-head-master目錄下Gruntfile.js文件,增加hostname屬性增加 hostname:’*’ 配置

修改head連接elasticsearch的地址:修改C:\elasticsearch-head-master\_site目錄下的app.js文件,將localhost修改為es的IP地址

把localhost修改成elasticsearch服務器地址,如:114.aaa.bb.cc:9200,我這邊做的是本機測試,所以不用修改,就使用localhost。

修改一下elasticsearch配置文件:編輯C:\elasticsearch-6.4.0\config/elasticsearch.yml文件,增加如下兩行配置

安裝heah插件:

  在dos窗口切換到C:\elasticsearch-head-master目錄下執行npm命令: npm install,這個過程我安裝的時候耗時比較久。

訪問瀏覽器,正常顯示如下:

OK,到此需要安裝的軟件已經安裝完全了,需要注意的是必須在elasticsearch-head目錄下啟動服務才能成功,因為grunt工具會讀取目錄下的Gruntfile.js文件中的配置,另外elasticsearch和elasticsearch-head插件都是前台啟動,如果終端即dos窗口關閉,那么elasticsearch和head服務也會隨之停止服務。

 

 

參考:《Spring Boot2 精髓》-- 李家智


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM