ElasticSearch介紹:
????????ElasticSearch是一個基于Lucene的搜索服務(wù)器。它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java開發(fā)的,并作為Apache許可條款下的開放源碼發(fā)布,是當(dāng)前流行的企業(yè)級搜索引擎。設(shè)計用于云計算中,能夠達到實時搜索,穩(wěn)定,可靠,快速,安裝使用方便。
官方網(wǎng)址:Elasticsearch:官方分布式搜索和分析引擎 | Elastic
下載安裝
下載鏈接:Download Elasticsearch | Elastic
centos7單機版安裝
#創(chuàng)建elsearch用戶,Elasticsearch不支持root用戶運行
useradd elsearch
#解壓安裝包
tar -xvf elasticsearch-8.3.3-linux-x86_64.tar.gz -C es/
#修改配置文件
vim conf/elasticsearch.yml
network.host: 0.0.0.0 #設(shè)置ip地址,任意網(wǎng)絡(luò)均可訪問
#說明:在Elasticsearch中如果,network.host不是localhost或者127.0.0.1的話,就會認(rèn)為是生產(chǎn)環(huán)境, 會對環(huán)境的要求比較高,我們的測試環(huán)境不一定能夠滿足,一般情況下需要修改2處配置,如下:
#1:修改jvm啟動參數(shù)
vim conf/jvm.options
-Xms128m #根據(jù)自己機器情況修改
-Xmx128m
#2:一個進程在VMAs(虛擬內(nèi)存區(qū)域)創(chuàng)建內(nèi)存映射最大數(shù)量
vim /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p #配置生效
#啟動ES服務(wù)
su - elsearch
cd bin
./elasticsearch 或 ./elasticsearch -d #后臺啟動
#通過訪問進行測試,看到如下信息,就說明ES啟動成功了
{
"name": "dSQV6I8",
"cluster_name": "elasticsearch",
"cluster_uuid": "v5GPTWAtT5emxFdjigFg-w",
"version": {
"number": "6.5.4",
"build_flavor": "default",
"build_type": "tar",
"build_hash": "d2ef93d",
"build_date": "2018-12-17T21:17:40.758843Z",
"build_snapshot": false,
"lucene_version": "7.5.0",
"minimum_wire_compatibility_version": "5.6.0",
"minimum_index_compatibility_version": "5.0.0"
},
"tagline": "You Know, for Search"
}
#停止服務(wù)
root@itcast:~# jps
68709 Jps
68072 Elasticsearch
kill 68072 #通過kill結(jié)束進程
?安裝過程可能出現(xiàn)的問題:
#啟動出錯,環(huán)境:Centos6
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
#解決:切換到root用戶,編輯limits.conf 添加類似如下內(nèi)容
vi /etc/security/limits.conf
添加如下內(nèi)容:
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
[2]: max number of threads [1024] for user [elsearch] is too low, increase to at least [4096]
#解決:切換到root用戶,進入limits.d目錄下修改配置文件。
vi /etc/security/limits.d/90-nproc.conf
#修改如下內(nèi)容:
* soft nproc 1024
#修改為
* soft nproc 4096
[3]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
#解決:Centos6不支持SecComp,而ES5.2.0默認(rèn)bootstrap.system_call_filter為true
vim config/elasticsearch.yml
添加:
bootstrap.system_call_filter: false
windows安裝:
直接下載對應(yīng)的Windows下的版本,解壓到本地,直接打開即可,如下圖所示:
出現(xiàn)這個界面表明elasticsearch啟動成功:
elasticsearch-head:
????????elasticsearch-head是一個為ES開發(fā)的一個頁 面客戶端工具,其源碼托管于GitHub,地址為:GitHub - mobz/elasticsearch-head: A web front end for an elastic search cluster
head提供了4種安裝方式:
- 源碼安裝,通過npm run start啟動(不推薦)
- 通過docker安裝(推薦)
- 通過chrome插件安裝(推薦)
- 通過ES的plugin方式安裝(不推薦)
通過docker安裝
#拉取鏡像
docker pull mobz/elasticsearch-head:5
#創(chuàng)建容器
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
#啟動容器
docker start elasticsearch-head
注意: 由于前后端分離開發(fā),所以會存在跨域問題,需要在服務(wù)端做CORS的配置,如下:
vim elasticsearch.yml
http.cors.enabled: true http.cors.allow-origin: "*"
通過chrome插件的方式安裝不存在該問題。
通過chrome插件安裝:? ? 【注意:國內(nèi)網(wǎng)絡(luò)是直接安裝不上的】
https://chrome.google.com/webstore/search/elasticsearch%20head?hl=zh
安裝成功后的效果:
文章來源:http://www.zghlxwxcb.cn/news/detail-558724.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-558724.html
基本概念
索引
- 索引(index)是Elasticsearch對邏輯數(shù)據(jù)的邏輯存儲,所以它可以分為更小的部分。
- 可以把索引看成關(guān)系型數(shù)據(jù)庫的表,索引的結(jié)構(gòu)是為快速有效的全文索引準(zhǔn)備的,特別是它不存儲原始值。
- Elasticsearch可以把索引存放在一臺機器或者分散在多臺服務(wù)器上,每個索引有一或多個分片(shard),每個 分片可以有多個副本(replica)。
文檔
- 存儲在Elasticsearch中的主要實體叫文檔(document)。用關(guān)系型數(shù)據(jù)庫來類比的話,一個文檔相當(dāng)于數(shù)據(jù)庫表中的一行記錄。
- Elasticsearch和MongoDB中的文檔類似,都可以有不同的結(jié)構(gòu),但Elasticsearch的文檔中,相同字段必須有相同類型。
- 文檔由多個字段組成,每個字段可能多次出現(xiàn)在一個文檔里,這樣的字段叫多值字段(multivalued)。
- 每個字段的類型,可以是文本、數(shù)值、日期等。字段類型也可以是復(fù)雜類型,一個字段包含其他子文檔或者數(shù)組。
映射
- 所有文檔寫進索引之前都會先進行分析,如何將輸入的文本分割為詞條、哪些詞條又會被過濾,這種行為叫做 映射(mapping)。一般由用戶自己定義規(guī)則。
文檔類型
- 在Elasticsearch中,一個索引對象可以存儲很多不同用途的對象。例如,一個博客應(yīng)用程序可以保存文章和評論。
- 每個文檔可以有不同的結(jié)構(gòu)。 不同的文檔類型不能為相同的屬性設(shè)置不同的類型。例如,在同一索引中的所有文檔類型中,一個叫title的字段 必須具有相同的類型。
到了這里,關(guān)于ElasticSearch的介紹、安裝、基本概念的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!