




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
Elasticsearch簡樸使用手冊
10Win7系統(tǒng)下安裝ES
1.1ES的J安裝
從官網(wǎng)上下載最新版本口勺ES,本次使用的是版本
網(wǎng)址是
解壓縮,執(zhí)行elasticsearch-5.5.O\bin下面的elasticsearch.bat即可
在瀏覽器中輸入://localhost:9200,出現(xiàn)如下界面表達運行成功
C①localhost:9200
洋應(yīng)用圈百度一下,你就知道
“name”:"EnUc3應(yīng)。
“clustejname":"elasticsearch",
*cluster_uuid*:*brgW3UGT8ypyaFTI1M2Lg**,
“version":{
“number":"5.5.0",
"build-hash":"260387d",
“builLdate":*2017-06-30123:16:05.735Z\
“builLsnapshot”:false,
lucene_version:6.6.0
},
“tagline":"YouKnow,forSearch”
1.2安裝elasticsearch?head插件(非必須)
這個安裝比較復(fù)雜,首先保證當(dāng)?shù)赜嬎銠C安裝有g(shù)it和nodejs,npm
Stepl:將elasticsearch-head從github上面clone下來。詳細操作如下,
gitclonegit://github/mobz/elasticsearch-head.git
Step2:修改elasticsearch-head/Gruntfile.js文獻,增長hostname屬性,
設(shè)置為當(dāng)?shù)赝緩?)或者*(代表任意)
90connect:
91server:{
92options:{
93hostname:
94port:9100,
95base:'.',
96keepalive:true
97}
98
99}
Step3:修改elasticsearch-head/_site/app.js文獻
修改head的連接地址:
this.base_uri=this,config.base_uri|this,prefs,get(,,app-base_uri,/)
||://localhost:9200,,;
把localhost修改成你es日勺服務(wù)器地址,如:
this.base_uri=this,config.base_uri||this,prefs,get(^app-basejjri^)
II〃:9200〃;
Step4:文獻目錄/config/elasticsearch.yml,修改Elaslicsearch的參
數(shù),注意,設(shè)置參數(shù)口勺時候:背面要有空格!
#增長新的參數(shù),這樣head插件可以訪問es
.cors.enabled:true
.cors.allow-origm:〃*“
Step5:安裝grunt,命令如下
npminstall-ggrunt-cli
Step6:在elasticsearch-head目錄下執(zhí)行npminstall下載elasticsearch-
head運行的I依賴包
Step7:運行g(shù)runtserver啟動服務(wù)
E:\Deuelop\elasticsearch-head>gi'untseruer
Running^connect:set'uer°(connect〉task
Waitingfoi?euei?...
Startedconnectwebserueronhttp://:9100
Step8:訪問:〃localhost:9100/,出現(xiàn)如下界面表達安裝成功
0①localhost:91co
:?:應(yīng)月m互度一下,你就知道
Elasticsearchhttp//127001:9200/連接
廄覽案引數(shù)景況覽基本至w[十:聶合叁:旬[+:
里群概覽集群排余^SortIndices▼ViewAliases▼IndexFilter
2.Linux系統(tǒng)下集群布署ES
2.1機器配置
三臺Linux虛擬機,安裝系統(tǒng)CentOS6.5
對應(yīng)靜態(tài)IP分別為28,,
開放9200和9300端口,環(huán)節(jié)如下:
#/sbin/iptables-IINPUT-ptep--dport9200-jACCEPT
#/sbin/iptables-IINPUT-ptep--dport9300-jACCEPT
然后保留:
#/etc/rc.d/init.d/iptablessave
查看打開的端口:
#/etc/init.d/iptablesstatus
2.2安裝環(huán)節(jié)
Stepl:從官網(wǎng)上下載ElasticSearch『、Jtar包,本次使用版本5.5.1。分別上
傳到三臺機器中
Step2:解壓tar包,修改途徑下的elasticsearch,y下配置文獻。重要修改
如下幾種配置項:
#設(shè)置集群的名稱,三臺機器要同樣
:my-application
#設(shè)置各節(jié)點名稱
:node-128
#數(shù)據(jù)存儲的位置
path.data:/home/hous/develop/elasticsearch-daTa/data
#日志存儲的位置
path.logs:/homp/hous/dpvplop/plasticsparch-dara/logs
#內(nèi)存鎖定,即不使用linux中的互換內(nèi)存(sw叩)
bootstrap.memory_lock:true
#檢查與否支持SecComp模式運行,centos6.x不支持
bootstrap.system_call_filter:false
#綁定本機IP地址
#設(shè)置訪問端口
.port:9200
#以單播方式嗅探集群中的機器
discovery.zen.ping.unicast.hosts:["28","29",
"30"]
#防止腦裂(節(jié)點數(shù)/2+1得出)
discovery.zen.minimum_master_nodes:2
#支持跨域
.cons.enabled:true
.cors.allow-origin:
Step3:分別啟動elasticsearch,進入bin途徑下,
運行命令:./elasticsearch
或者后臺啟動命令:./elasticsearch-d
啟動完畢后,可以輸入curl28:9200/_cluster/health?pretty
集群健康狀態(tài),顯示為green表達正常啟動
2.3常見問題
問題一
[WARN][o.e.b.JNANatives]unabletoinstallsyscallfilter:
Java.lang.UnsupportedOperationException:seccompunavailable:requires
kernel3.5+with
CONFlG_SECCOMPandCONFlG_SECCOMP_FlLTERcompiledinatorg.elasticsear
ch.bootstrap.Seccomp.linuxImpl(Seccomp.java:349)^[elasticsearch-
5.5.1.jar:5.5.1]
atorg.elasticsearch.bootstrap.Seccomp.init(Seccomp.java:630)
~[elasticsearch-5.5.1.jar:5.5.1]
原因:報了一大串錯誤,大家不必驚恐,其實只是一種警告,重要是由于你
Linux版本過低導(dǎo)致的I
處理方案:
1、重新安裝新版本的Linux系統(tǒng)
2、警告不影響使用,可以忽視
問題二
ERROR:bootstrapchecksfailed
maxfiledescriptors[4096]forelasticsearchprocesslikelytoolow,increasetoat
least[65536]
原因:無法創(chuàng)立當(dāng)?shù)匚墨I問題,顧客最大可創(chuàng)立文獻數(shù)太小
處理方案:切換到root顧客,編輯limits.conf配置文獻
vi/etc/security/1inits.conf
添加如下內(nèi)容:
*softnofile65536
*hardnofile131072
*softnproc2048
*hardnproc4096
備注:*代表Linux所有顧客名稱(例如hadoop)
保留、退出、重新登錄才可生效
問題三
maxnumberofthreads[1024]foruser[es]likelytoolow,increasetoatleast
[2048]
原因:無法創(chuàng)立當(dāng)?shù)鼐€程問題,顧客最大可創(chuàng)立線程數(shù)太小
處理方案:切換到root顧客,進入limits.d目錄下修改90-nproc.conf配置文獻
vi/etc/security/limits.d/90-nproc.conf
找到如下內(nèi)容:
*softnproc1024
#修改為
*softnproc2048
問題四
maxvirtualmemoryareasvm.max_map_counl[65530]likelyloolow,
increasetoatleast[262144]
原因:最大虛擬內(nèi)存太小
處理方案:切換到root顧客下,修改配置文獻sysctl.conf
vi/etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并執(zhí)行命令:
sysctl-p
然后重新啟動egsticsearch,即可啟動成功
問題五
ElasticSearch啟動找不到主機或路由
原因:ElasticSearch單播配置有問題
處理方案:檢查日asticSearch中日勺配置文獻
viconfig/elasticsearch.yml
找到如下配置:
H
discovery.zen.ping.unicast.hosts:["192.168.**.**:9300z"192.168.**.**:9300
"]
一般狀況下,是這里配置有問題,注意書寫格式
問題六
org.elasticsearch.transport.RemoteTransportException:Failedtodeserialize
exceptionresponsefromstream
原因:日asticSearch節(jié)點之間的jdk版本不一致
處理方案:日asticSearch集群統(tǒng)一jdk環(huán)境
問題七
Unsupportedmajor.minorversion52.0
原因:jdk版本問題太低
處理方案:更換jdk版本,支持
問題八
cannotrunelasticsearchasroot
原因:不能以root顧客啟動ES服務(wù)器。
處理方案:非要以root顧客運行,則配置-Des.insecure.allow.root=true
對于5.X,在config/jvm.options配置文獻中,
添力口?Des.insecure.allow.root=true
問題九
memorylockingrequestedforelasticsearchprocessbutmemoryisnotlocked
處理措施1:HEMconfig/elasticsearch.yml,注釋掉如下內(nèi)容
#bootstrap.memoryjock:true
處理措施2:配置:/etc/security/limits.conf,
*softmemlockunlimited
*hardmemlockunlimited
3.Elasticsearch有關(guān)概念解釋
對比與關(guān)系型數(shù)據(jù)庫,ESH勺多種概念確實不好理解。尤其對“索引”二字更是
與關(guān)系型數(shù)據(jù)庫混淆日勺不行,下面通過與MySQL簡樸對比,加深理解
MySQL|ElasticSearch____________
DatabaseIndex
TableType
RowDocument
ColumnField
SchemaMapping
IndexEverythingisindexed
SQLQueryDSL
SELECT*FROMtable...GEThttp://...
UPDATEtableSET...PUThttp://...
以上表為根據(jù),在ES中的新建文檔(在Index/type下)相稱于mysql中(在
某Database歐JTable)下插入一行數(shù)據(jù)。
4.安裝中文分詞器
1.中文分詞器的安裝
中文分詞器ik詳細安裝環(huán)節(jié)如下
拼音分詞器的安裝環(huán)節(jié)如下
2.java創(chuàng)立索引是添加分詞器
5?有關(guān)字符串的某些闡明
在ES中,字符串口勺類型有兩種,分別是text和keyword。他們口勺區(qū)別是,
text可以進行analyzed分詞操作。keyword不兀以notanalyzed。下圖是對
name字符串日勺屬性闡明
"name":{
"analyzer":"ik_smartn,Bl
"type":"text”,爵
"fields":{.
"keyword":{
"ignore_above":
"type":"keyword"
)
}
1)表達使用ik_smart中文分詞
2)表達字符串類型為text,可以講行分詞
3)ignoreabove是索引『'J范圍,用于not_analyzed字段,默認不會對20字
節(jié)的數(shù)據(jù)索引,假如要存儲超過32766字節(jié)口勺數(shù)據(jù),設(shè)置ignore_above=256就
可以了
4)表達字符串類型為keyword,不可以進行分詞
總體闡明:name是text類型,用ik_smart分詞倒排索引。name,keyword是
keyword類型不可以分詞,存儲超過32766字節(jié)
6?通過CURL操作的簡樸命令
下面以索引名my_index,索引類型my_type為例進行闡明
6.1創(chuàng)立索引
創(chuàng)立一種空索引,索引名為myjndex
curl-XPUT:9200/my_index-d'
()
I
6.2添力口mapping
添加索引類型,包括字段類型
curl-XPUT:9200/my_index/_mapping/my_type-d
(
"properties":{
"name":{
"analyzer":"ik_smart",
"type":"text",
"fields":{
"keyword":{
"ignore_above":256,
"type":"keyword"
}
}
},
"id":{
"type":"long"
},
"age":{
"type":"integer"
},
"desc":{
"analyzer":"ik_smart",
"lype":"LexL",
"fields":{
"keyword":{
"ignore_above":256,
"type":"keyword',
}
)
}
}
}
I
6.3添加文檔數(shù)據(jù)
添加一條文檔數(shù)據(jù)
curl-XPOST:9200/my_index/my_type-d
"id":1,
“name":”張小明“,
"desc“:”java工程師,從事大數(shù)據(jù)軟件開發(fā)”,
"age":23
)
I
批量添加文檔數(shù)據(jù),這種格式類似一種有效日勺單行JSON文檔流,它通過換行符
(\n)連接到一起。注意兩個要點:
?每行一定要以換行符(\n)結(jié)尾,包括最終一行。這些換行符被用作一種
標(biāo)識,可以有效分隔行。
?這些行不能包括未轉(zhuǎn)義口勺換行符,由于他們將會對解析導(dǎo)致干擾。
curl-XPOST:9200/_bulk-d'
("index":{".index":"my_index","_type":"my_type"}}
{”+':5,”血限”:“張三豐”,“(^5(:“:!”3工程師,從事大數(shù)據(jù)軟件開發(fā),對nosql數(shù)據(jù)庫
有研究“age”:123}
{"index":{"_index":"my_index","_type":"my_type"}}
{"id":2/'name":"jack","desc":"php工程師,從事網(wǎng)站開發(fā),對java也有一定理解
"/'age":30)
{"index":{"_index":"my_index","_type":"my_type")}
{“id“:3Jname“:“李曉紅,“desc":”前端工程師,對react,angularjs有研究
","age":22)
("index":<"-index":"my_index","_type":"my_type"}}
{"id":4/'name":“王曉燕”,“desc":"UI設(shè)計師,目前處在實現(xiàn)階段“,“age”:19)
{"index":{"_index":"my_index"J"_type":"my_type")>
{"id":6j"name":"jannes","desc":"數(shù)據(jù)庫工程師,對oracle和mysql有一定的經(jīng)驗
"/'age":35}
6.4刪除文檔數(shù)據(jù)
刪除一條文檔數(shù)據(jù)
curl-XDELETE:9200/my_index/my_type/AV3E0qBK9W2J9WuRt8D3
刪除多條文檔數(shù)據(jù)
curl-XPOST:9200/_bulk-d'
{"delete":{"_index":"my_index",”_type”:"my_type",
"AV3E0qBK9W239WuRt8D4"}}
("delete":{"_index":"my_index","_type-:"my.type",",id
"AV3E0qBK9W2J9WuRt8D5"}}
{"delete":("-index":"my_index'\".type":"my_type",
"AV3E0qBK9W239WuRt8D6")}
{"delete":{"_index":"my_index","_type":"?ny"type","_id":
"AV3E0qBK9W239WuRt8D7"}}
{"delete":{"_index":"my^ndex","_type":"my_type","_id":
"AV3BQz3x35KYRov53oNA"}}
6.5查詢文檔數(shù)據(jù)
wildcard通配符查詢
curl-XGET28:9200/my_index8/my_type8/_search-d
query":{
"wildcard":{
"name.keyword":"張*"
}
}
}
term精確杳詢
curl-XGET28:9200/my_index8/my_type8/_search-d'
{
"query":{
"term":{
"desc":“工程師”
}
}
)
terms查找多種精確值
curl-XGET28:9200/my_index8/my_type8/_search-d'
query":{
"terms":{
age":[22,23]
}
}
}
range范圍查詢
range查詢可同步提供包括(inclusive)和不包括(exclusive)這兩種范圍體現(xiàn)
式,可供組合的選項如下:
gt:>不小于(greaterthan)
It:<不不小于(lessthan)
gte:>=不小于或等于(greaterthanorequalto)
Ite:<=不不小于或等于(lessthanorequalto)
curl-XGET28:9200/my_index8/my_type8/_search-d'
"query":{
"constant_score":{
"filter":{
"range":{
"age":{
"gte":20,
"It":40
)
}
)
)
)
)
;3m
exists查詢和notexists(嘀self均■查詢過時被刪除)(nullandnotnull)
curl-XGET28:9200/my_index8/my_type8/_search-d'
"query":{
"exists":{"field":"desc"}
}
}
I
curl-XGET28:9200/my_index8/my_type8/_search-d
{
"query":{
"bool":{
"must_not":{
"exists":{
"field":"desc"
}
)
)
)
}
:I'M
BoolQuery組合查詢
bool杳詢由如下元素構(gòu)成,分別是must,filter,should,musjnot
must:所有的語句都必須(must)匹配,與AND等價
musjnot:所有的)語句都不能(mustnot)匹配,與NOT等價
should:至少有一種語句要匹配,與OR等價
filter:過濾器查詢,忽視score
boost增長有關(guān)度評分比重_score,minimum_should_match
POST_search
{
"query":{
"bool":{
"must":{
"term":{"user":"kimchy"}
},
"filter":{
"term":{"tag":"tech"}
},
"must_not":{
"range":{
"age":{"gte":10,"Ite":20}
}
},
"should":[
{"term":{"tag":"wow"}},
{"term":{"tag":"elasticsearch"}}
"minimum_should_match":1,
"boo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 菏澤教師音樂真題及答案
- 2025年濮陽招教考試試題及答案
- 化學(xué)與環(huán)境聯(lián)系應(yīng)用試題
- 化學(xué)平衡狀態(tài)判斷專題試題
- 公路試驗工考試題及答案
- 2025年高考物理“學(xué)習(xí)反思”促進試題
- 2025年中考美術(shù)貴州試卷及答案
- 工藝培訓(xùn)考試題及答案解析
- 工程估價自考試題及答案
- 2025安徽固鎮(zhèn)縣連城鎮(zhèn)招聘村級后備人才3人模擬試卷附答案詳解(突破訓(xùn)練)
- 2025年醫(yī)院領(lǐng)導(dǎo)競聘面試題與參考答案
- 黑龍江省高等教育教學(xué)成果獎申請書
- 2025中礦金石實業(yè)有限公司社會招聘備考考試題庫附答案解析
- 2025年屠檢考務(wù)試卷及答案
- (正式版)DB65∕T 4260-2019 《薰衣草優(yōu) 質(zhì)種苗組培快繁生產(chǎn)技術(shù)規(guī)程》
- 五金材料知識培訓(xùn)課件
- 23《富貴不能淫》(公開課一等獎創(chuàng)新教學(xué)設(shè)計)統(tǒng)編版語文八年級上冊
- 校園科技教育主題班會活動方案
- 綠色食品認證合同協(xié)議
- 七年級生物分組實驗案例解析
- 筑夢青春強國有我+課件-2025-2026學(xué)年高二上學(xué)期國慶節(jié)主題班會
評論
0/150
提交評論