這是我參與更文挑戰的第9天,活動詳情查看:更文挑戰vue
ElasticSearch,簡稱 ES,主要功能是全文搜索以及數據分析等,故經常使用於搜索和大數據場景,這是一篇入門級文檔,這裏咱們主要介紹 ES 在搜索場景下的使用。git
在學習和實踐的過程當中,咱們能夠自行安裝 kibana,或者 elasticsearch head 插件,或者 elasticvue 插件做爲可視化工具協助。github
搜索引擎狹義的是指相似百度、谷歌這樣的網站,即輸入一個關鍵詞,而後搜索引擎給出一個搜索結果出來,只是這個結果可能會因爲不一樣的搜索引擎而獲得不一樣的結果。廣義的是指各類信息搜索系統或網站。算法
搜索引擎是指根據必定的策略、運用特定的計算機程序從互聯網上採集信息,在對信息進行組織和處理後,爲用戶提供檢索服務,將檢索的相關信息展現給用戶的系統。它是根據用戶需求與必定算法,運用特定策略從互聯網檢索出制定信息反饋給用戶的一門檢索技術。shell
搜索引擎是工做於互聯網上的一門檢索技術,它旨在提升人們獲取蒐集信息的速度,爲人們提供更好的網絡使用環境。從功能和原理上搜索引擎大體被分爲全文搜索引擎、元搜索引擎、垂直搜索引擎和目錄搜索引擎等四大類。瀏覽器
搜索引擎技術的核心模塊通常包括爬蟲、索引、檢索和排序等,同時可添加其餘一系列輔助模塊,覺得用戶創造更好的網絡使用環境。好比網絡爬蟲技術、檢索排序技術、網頁處理技術、大數據處理技術、天然語言處理技術等,爲信息檢索用戶提供快速、高相關性的信息服務。服務器
Elasticsearch is a real-time, distributed storage, search, and analytics engine.markdown
Elasticsearch 是一個實時的分佈式存儲、搜索、分析的引擎。網絡
Elasticsearch 是一個基於 Apache Lucene(TM) 的開源搜索引擎。不管在開源仍是專有領域,Lucene 能夠被認爲是迄今爲止最早進、性能最好的、功能最全的搜索引擎庫。可是,Lucene 只是一個庫。想要使用它,你必須使用Java來做爲開發語言並將其直接集成到你的應用中,更糟糕的是,Lucene 很是複雜,你須要深刻了解檢索的相關知識來理解它是如何工做的。 Elasticsearch 也使用 Java 開發並使用 Lucene 做爲其核心來實現全部索引和搜索的功能,可是它的目的是經過簡單的 RESTful API 來隱藏 Lucene 的複雜性,從而讓全文搜索變得簡單。 不過,Elasticsearch 不只僅是 Lucene 和全文搜索,咱們還能這樣去描述它:jvm
並且,全部的這些功能被集成到一個服務裏面,你的應用能夠經過簡單的RESTful API、 各類語言(Java、Python、.NET等)的客戶端甚至命令行與之交互。上手 Elasticsearch 很是容易。它提供了許多合理的缺省值,並對初學者隱藏了複雜的搜索引擎理論。它開箱即用(安裝便可使用),只需不多的學習既可在生產環境中使用。 Elasticsearch 在 Elastic License 2.0 下許可以使用,能夠免費下載、使用和修改。隨着你對Elasticsearch的理解加深,你能夠根據不一樣的問題領域定製 Elasticsearch 的高級特性,這一切都是可配置的,而且配置很是靈活。
在安裝 Elasticsearch 以前,您需安裝並配置好 JDK, 設置好環境變量 $JAVA_HOME
。
衆所周知,Elasticsearch 版本不少,不一樣的版本對 Java 的依賴也有所差異:
ES 的安裝是很是簡單的,直接訪問 Elasticsearch 官網 www.elastic.co/cn/download… 下載安裝包便可,根據你自己的系統進行選擇下載(固然你也能夠經過包管理軟件進行下載,我是爲了方便就直接下載壓縮包了):
而後將壓縮包解壓到你想要放的目錄,解壓後的目錄結構以下:
目錄/文件 | 配置文件 | 描述 |
---|---|---|
bin | 腳本文件目錄,如啓動腳本、安裝插件腳本等 | |
config | elasticsearch.yml | elasticsearch 配置文件 |
data | path.data | 數據持久化文件目錄 |
lib | 依賴相關類庫 | |
logs | path.log | 日誌文件目錄,好比錯誤日誌、gc日誌等等 |
modules | 包含的全部 ES 模塊,好比 x-pack 等 | |
plugins | 全部已安裝的插件 | |
jdk | Java 運行環境 |
注意點:
- 修改 JVM 參數,配置文件路徑爲
config/jvm.options
,ES V7.1 版本默認爲1g
, 老版本爲2g
, 你能夠自行修改。Xmx
和Xms
數值請設置相同;Xmx
不要超過機器內存的50%
;- 內存總量不要超過 30GB, 參見官方文檔 www.elastic.co/cn/blog/a-h…
啓動就須要執行啓動腳本,進入剛纔的解壓目錄,進入 bin
目錄,執行:
./elasticsearch
複製代碼
ES 的默認訪問端口是 9200,接着咱們瀏覽器訪問 http://127.0.0.1:9200
,若是能看到下面的結果就證實咱們完成安裝並啓動成功了:
關閉 ES 的話,在終端界面 Ctrl + C
終止當前進程就行了,簡單有效【狗頭保命】,固然也能夠找到進程再殺死。
插件的安裝咱們可使用插件安裝腳本進行安裝,即 bin
目錄下的 elasticsearch-plugin
腳本,首先咱們能夠查看已經安裝了哪些插件:
./elasticsearch-plugin list
複製代碼
能夠看到我已經安裝了一個插件,ik
,一個分詞工具。接着咱們來安裝一個新的插件,pinyin
即拼音分詞器。以後的系列文章我會給你們介紹這些插件的用處。
ES 插件的安裝命令以下:
./elasticsearch-plugin install {插件名}
複製代碼
好比安裝拼音分詞器命令以下:
./elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-pinyin/releases/download/v7.12.0/elasticsearch-analysis-pinyin-7.12.0.zip
複製代碼
而後咱們再經過查看插件命令就能夠看到最新的已安裝的插件列表了:
重啓ES後,安裝的插件纔會生效。除了命令行,也能夠經過訪問 http://127.0.0.1:9200/_cat/plugins
來查看已經安裝的插件:
本篇簡單介紹了一下搜索引擎以及 ES 是什麼,接着給你們演示了一下如何安裝和啓動 ES,怎麼安裝 ES 的插件,歡迎你們多多實踐,若是遇到問題,也歡迎評論給出,共同解決。在以後的文章會繼續完善和不全 ES 相關的內容,敬請期待!