探索ElasticSearch(一)
1.??? 什么是ElasticSearch:
ElasticSearch是基于lucene采用java語(yǔ)言開發(fā)的一個(gè)服務(wù)產(chǎn)品,旨在方便全文檢索、分擔(dān)web服務(wù)及數(shù)據(jù)庫(kù)服務(wù)壓力。可以理解為文件系列類型的數(shù)據(jù)庫(kù)。
2.??? 站內(nèi)搜索/全文檢索:
? 所謂站內(nèi)搜索,就是網(wǎng)站內(nèi)部實(shí)現(xiàn)啦一個(gè)可以供給用戶搜索本站相關(guān)物品或者信息的一個(gè)功能模塊。傳統(tǒng)意義的實(shí)現(xiàn),我們首先會(huì)想起以數(shù)據(jù)庫(kù)的模糊匹配的方式,來(lái)獲取數(shù)據(jù)信息,從而展現(xiàn)給用戶。但是,如何數(shù)據(jù)的量大的時(shí)候,那數(shù)據(jù)庫(kù)的壓力將會(huì)很大,即便是再好的數(shù)據(jù)庫(kù)加上再牛的索引,也不將是一個(gè)完美的粗略。因而,lucene應(yīng)允而生。我們可以基于lucene開發(fā)出自己的檢索庫(kù),這樣的話,數(shù)據(jù)管理錄入的操作的同時(shí),我們也會(huì)將數(shù)據(jù)錄入檢索庫(kù)中,這樣的話,用戶查詢數(shù)據(jù)通過(guò)檢索庫(kù)相應(yīng)會(huì)極大的減輕數(shù)據(jù)庫(kù)的壓力。但是基于原生的lucene開發(fā)的索引庫(kù)比較繁瑣,性能也不是很樂(lè)觀。有問(wèn)題就會(huì)相應(yīng)的有解決方案,業(yè)界大佬基于lucene開發(fā)出啦相關(guān)的檢索服務(wù),(諸如solr、ElasticSearch等),不僅方便操作,性能上也有啦保障。
3.??? 安裝及測(cè)試:
(1)環(huán)境準(zhǔn)備:JDK 1.8以上,ElasticSearch5.1,PlainElastic.Net(c#操作es的類庫(kù))。
(2)下載安裝 Java 運(yùn)行環(huán)境 JDK1.8;解壓 ElasticSearch5;環(huán)境變量中配置“JAVA_HOME”指向 JDK 的目錄(JAVA_HOME的配置這里就不做說(shuō)明啦,比較簡(jiǎn)單,自行查閱配置即可)。
(3)打開 cmd,切換到ElasticSearch的bin目錄下。運(yùn)行 elasticsearch.bat,如果報(bào)錯(cuò)“命令語(yǔ)法不正確”說(shuō) 明 JAVA_HOME 沒(méi)配置好,然后好之后一定要重啟 cmd。
(4)如果 elasticsearch 運(yùn)行報(bào)錯(cuò): Error occurred during initialization of VMCould not reserve enough space for 2097152KB object heap 。那么說(shuō)明是內(nèi)存不足,就修改 config/jvm.options 下的? -Xms2g -Xmx2g 改成? -Xms512m -Xmx512m(或者更小,只要能跑起來(lái)就ok,畢竟這是測(cè)試用的環(huán)境)
(5)打開瀏覽器訪問(wèn) http://localhost:9200/,如果不報(bào)錯(cuò)就說(shuō)明成功了,會(huì)出現(xiàn)以下界面:
? ? ?
(5)vs新建控制臺(tái)項(xiàng)目,nuget管理獲取PlainElastic.Net包,
????
? ??
?
?4.至此,ElasticSearch的簡(jiǎn)單操作就完成啦,下一章節(jié)將會(huì)對(duì)C#的client插件進(jìn)行簡(jiǎn)單封裝及ElasticSearch應(yīng)用作進(jìn)一步分析,感謝大家支持。
轉(zhuǎn)載于:https://www.cnblogs.com/diligent-lsh/p/9744143.html
《新程序員》:云原生和全面數(shù)字化實(shí)踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀總結(jié)
以上是生活随笔為你收集整理的探索ElasticSearch(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 六、jQuery基础
- 下一篇: Java中的Iterable与Itera