ElasticSearch能做什么?從入門到精通-01ElasticSearch簡(jiǎn)介

我的Elasticsearch系列文章蓝厌,逐漸更新中玄叠,歡迎關(guān)注

0A.關(guān)于Elasticsearch及實(shí)例應(yīng)用

00.Solr與ElasticSearch對(duì)比

01.ElasticSearch能做什么?

02.Elastic Stack功能介紹

03.如何安裝與設(shè)置Elasticsearch API

04.如果通過elasticsearch的head插件建立索引_CRUD操作

05.Elasticsearch多個(gè)實(shí)例和head plugin使用介紹

06.當(dāng)Elasticsearch進(jìn)行文檔索引時(shí)拓提,它是怎樣工作的读恃?

07.Elasticsearch中的映射方式—簡(jiǎn)潔版教程

08.Elasticsearch中的分析和分析器應(yīng)用方式


這是我的博客系列“ Elasticsearch簡(jiǎn)介”的第一篇文章。本系列旨在指導(dǎo)您入門Elasticsearch代态,了解其功能寺惫,現(xiàn)實(shí)生活中的用例以及熟悉Elasticsearch堆棧中的其余組件。該博客將為您簡(jiǎn)要介紹Elasticsearch蹦疑,其提供的解決方案以及選擇Elasticsearch服務(wù)的原因西雀。

如果你已經(jīng)了解Elasticsearch是怎么回事,開始著手搭建歉摧,那我推薦你看這篇:elasticsearch初學(xué)終極教程: 從零到一

一艇肴、什么是Elasticsearch腔呜?

這是新手碰到的第一個(gè)問題!我來概括以下:

Elasticsearch是一個(gè)NoSql數(shù)據(jù)庫(kù)再悼,其搜索引擎基于Lucene構(gòu)建育谬。Elasticsearch提供了一個(gè)分布式的,基于JSON的實(shí)時(shí)帮哈,多租戶的全文搜索解決方案。

即使上面的定義僅用兩句話就結(jié)束了锰镀,但您還是不會(huì)聽到很多術(shù)語娘侍。讓我們拆分它們并分別進(jìn)行探索

1 Lucene

簡(jiǎn)而言之,Lucene是一個(gè)用Java編寫的庫(kù)泳炉。因此憾筏,下一個(gè)顯而易見的問題是它的作用和功能是什么!

Lucene是一個(gè)搜索庫(kù)花鹅。這意味著氧腰,有一些用Java編寫的函數(shù)和方法已針對(duì)不同的搜索策略進(jìn)行了優(yōu)化。Lucene是有史以來最受歡迎的搜索庫(kù)刨肃。大多數(shù)開源/商業(yè)搜索實(shí)現(xiàn)都以Lucene為骨干古拴。

因此,在閱讀了上面對(duì)Lucene的定義之后真友,出現(xiàn)了一系列問題黄痪,例如,如果Elasticsearch將Lucene用于搜索部分盔然,為什么我們不能將裸露Lucene用于我們的目的呢桅打?為什么選擇Elasticsearch?或者愈案,Elasticsearch和Lucene有什么區(qū)別挺尾?

這些問題的答案是,Lucene是一個(gè)編寫得非常出色的庫(kù)站绪,這也使得在根據(jù)最終客戶需求進(jìn)行定制時(shí)很難處理遭铺。因此,Elasticsearch所做的就是在Lucene之上構(gòu)建一個(gè)API層恢准,這將使Lucene方法和功能的使用變得非常簡(jiǎn)單掂僵。

2.分布式系統(tǒng)

除了在我們的應(yīng)用程序中配置Lucene的難以置信的困難之外,使Elasticsearch優(yōu)于Lucene的原因是前者的分布式特性顷歌。從本質(zhì)上講锰蓬,分布式意味著Elasticsearch可以同時(shí)在不同的系統(tǒng)/節(jié)點(diǎn)上運(yùn)行,并嘗試?yán)镁W(wǎng)絡(luò)中的系統(tǒng)資源來解決單個(gè)問題眯漩。Lucene不支持此功能芹扭,它是許多實(shí)現(xiàn)的主要障礙麻顶。

3.實(shí)時(shí)搜索

插入Elasticsearch的文檔幾乎可以立即用于搜索。此功能開箱即用舱卡,無需外部/附加配置辅肾。

4.基于JSON

Elasticsearch使用基于JSON的通信。這意味著它將JSON格式用于API和其他通信轮锥。由于當(dāng)今大多數(shù)Web應(yīng)用程序和服務(wù)都以JSON進(jìn)行通信矫钓,因此這在使用和互操作性方面提供了極大的靈活性。

5.多租戶能力

多租戶是指一種應(yīng)用程序的架構(gòu)舍杜,其中服務(wù)器/云上的應(yīng)用程序?qū)嵗梢杂删哂胁煌?jí)別可訪問性選項(xiàng)的多個(gè)租戶(用戶組)訪問新娜。

二、Elasticsearch-用例

1.搜索

Elasticsearch的主要用例和目的是使“搜索”更快既绩,更好概龄。因此,搜索是Elasticsearch的第一個(gè)用例饲握。它提供了許多搜索策略私杜,例如開箱即用的大小寫相關(guān)/獨(dú)立搜索,部分匹配救欧,自動(dòng)建議搜索衰粹。同樣,根據(jù)用戶依賴的策略(例如選擇性加權(quán)笆怠,突出顯示等)對(duì)搜索進(jìn)行大量定制非常容易在Elasticsearch中構(gòu)建和實(shí)現(xiàn)寄猩。這些因素使其成為搜索操作中最常見的選擇。

2.日志收集/解析和分析

Elasticsearch與堆棧的其他成員(例如Logstash)和Beats平臺(tái)使從各種來源收集數(shù)據(jù)變得非常容易和順暢骑疆。Logstash和Beats使來自各種來源的數(shù)據(jù)轉(zhuǎn)發(fā)變得容易田篇,并且由于它們與Elasticsearch的本機(jī)集成,在Elasticsearch中設(shè)置和開始收集數(shù)據(jù)非常容易箍铭。

Elasticsearch在這里解決的問題是需要來自不同來源的不同數(shù)據(jù)處理程序泊柬。也就是說,如果您要從不同來源收集日志并需要對(duì)日志進(jìn)行標(biāo)準(zhǔn)化诈火,則可以使用Elasticsearch的Logstash輕松處理此過程的數(shù)據(jù)轉(zhuǎn)發(fā)和數(shù)據(jù)解析解析應(yīng)用兽赁。因此,使用這種方法可以解決許多中間步驟冷守,以及由此花費(fèi)的時(shí)間和精力來制作標(biāo)準(zhǔn)格式刀崖。

使用Elasticsearch的可視化工具Kibana可以輕松可視化已解析和保存的數(shù)據(jù)。Elasticsearch的功能內(nèi)置了許多類型的分析功能拍摇,例如不同類型的聚合和許多統(tǒng)計(jì)計(jì)算亮钦,它們可以應(yīng)用于日志,然后使用Kibana進(jìn)行交互式可視化充活,以獲取有關(guān)日志數(shù)據(jù)的有用見解蜂莉。

3.內(nèi)容連接器

就像上一節(jié)中提到的日志一樣蜡娶,Elasticsearch的下一個(gè)最大用例是來自眾多來源的數(shù)據(jù)收集

如Twitter,Sharepoint映穗,JIVE等窖张。有強(qiáng)大的社區(qū)連接器插件可提取數(shù)據(jù),并具有來自各種來源的所需自定義并將其添加到Elasticsearch中蚁滋。反過來宿接,這不僅可以為特定目的提供強(qiáng)大的數(shù)據(jù)收集,還可以使其變得可搜索辕录。例如:可以將來自特定主題標(biāo)簽的數(shù)據(jù)流式傳輸?shù)紼lasticsearch睦霎,然后,如果我們能夠?qū)υ摂?shù)據(jù)進(jìn)行快速的搜索踏拜,請(qǐng)想象簡(jiǎn)化用戶所需內(nèi)容的簡(jiǎn)便性。衛(wèi)報(bào)新聞社正在使用類似的實(shí)現(xiàn)方式低剔,在那里將其新聞的最新評(píng)論流式傳輸?shù)紼lasticsearch速梗。然后,對(duì)這些數(shù)據(jù)進(jìn)行分析并使其可搜索襟齿,以便他們可以盡快找到文章的趨勢(shì)姻锁。

4.即時(shí)可視化

快速數(shù)據(jù)可視化功能可在Elasticsearch中建立數(shù)據(jù)索引后的幾分鐘內(nèi)創(chuàng)建具有洞察力的儀表板,這也是Elasticsearch堆棧的主要用例之一猜欺。Elasticsearch提供的可視化工具是Kibana位隶,它可以依次加載來自Elasticsearch的數(shù)據(jù)并可以對(duì)它們進(jìn)行大量分析,然后將其呈現(xiàn)為各種圖表开皿,可以按照任何順序排列以創(chuàng)建報(bào)告/儀表板涧黄。應(yīng)用程序監(jiān)視區(qū)域可以使用Kibana -Elasticsearch組合找到大量用例,因?yàn)榭梢詫?shí)時(shí)檢測(cè)和應(yīng)對(duì)異掣尘#或威脅笋妥。

三、為什么選擇Elasticsearch窄潭?

最后進(jìn)入百萬美元的問題春宣,為什么要優(yōu)先使用Elasticsearch?讓我們看看最完美地回答這個(gè)問題的最重要因素:

1.可擴(kuò)展性

使用Elasticsearch的主要優(yōu)勢(shì)之一是其可伸縮性嫉你。在大多數(shù)情況下月帝,只需花費(fèi)相當(dāng)長(zhǎng)的搜索時(shí)間,您就可以將數(shù)據(jù)索引到Elasticsearch中幽污。是的嚷辅,沒錯(cuò),在處理Elasticsearch的分布式特性時(shí)不會(huì)遇到麻煩或痛苦距误。Elasticsearch自行處理縮放潦蝇。例如款熬,如果將一個(gè)新節(jié)點(diǎn)添加到集群中,則無需設(shè)置路由攘乒,也無需進(jìn)行重大的關(guān)鍵設(shè)置更改即可使其可發(fā)現(xiàn)并正常運(yùn)行贤牛,Elasticsearch的主節(jié)點(diǎn)只需很少的干預(yù)即可解決此問題。 则酝。

2.模式少

通過設(shè)計(jì)殉簸,Elasticsearch被設(shè)計(jì)為無模式的應(yīng)用程序。這意味著我們無需事先提供用于將文檔放入Elasticsearch的架構(gòu)沽讹。當(dāng)涉及多個(gè)數(shù)據(jù)源時(shí)般卑,這確實(shí)是一個(gè)巨大的緩解。在類似MongoDb的類似NoSQL數(shù)據(jù)庫(kù)中爽雄,我們需要預(yù)先指定架構(gòu)蝠检。在Elasticsearch中,我們可以對(duì)此部分感到嘆為觀止挚瘟,然后就可以開始為數(shù)據(jù)建立索引了叹谁。如果沒有模式,Elasticsearch會(huì)自動(dòng)為文檔字段分配一個(gè)模式乘盖。

3.定制

這個(gè)問題的另一個(gè)響亮答案焰檩,為什么是Elasticsearch?是它在其提供的解決方案中提供的自定義選項(xiàng)订框。例如析苫,如前一節(jié)所述,它為開發(fā)人員提供的搜索選項(xiàng)的自定義可以使搜索的幾乎所有用例都包含在內(nèi)穿扳。此外衩侥,Elasticsearch的數(shù)據(jù)通信部分也可以通過多種方式完成,包括默認(rèn)的插件矛物,插件或用戶開發(fā)的解決方案顿乒,可以與之完美集成。

4.社區(qū)

最后但并非最不重要的一點(diǎn)是泽谨,由Shay Banon和其他同樣才華橫溢的開發(fā)人員領(lǐng)導(dǎo)的令人驚嘆的社區(qū)使其成為強(qiáng)大的開源社區(qū)之一璧榄。社區(qū)的努力創(chuàng)建了許多插件,插件和庫(kù)吧雹,從簡(jiǎn)單的分析器插件到數(shù)據(jù)河實(shí)現(xiàn)骨杂。快速的響應(yīng)式論壇和活躍的在線狀態(tài)也將節(jié)省大量開發(fā)時(shí)間雄卷。

四搓蚪、結(jié)論

在本文中,我介紹了Elasticsearch丁鹉,其要解決的問題和問題以及擁有Elasticsearch的令人信服的原因妒潭。在該系列的下一篇文章中悴能,我將向您簡(jiǎn)要介紹Elasticsearch堆棧以及每個(gè)組件的功能。

關(guān)于如何搭建Elasticsearch雳灾,搭建可以看這篇

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末漠酿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子谎亩,更是在濱河造成了極大的恐慌炒嘲,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件匈庭,死亡現(xiàn)場(chǎng)離奇詭異夫凸,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)阱持,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門夭拌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人衷咽,你說我怎么就攤上這事鸽扁。” “怎么了兵罢?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵献烦,是天一觀的道長(zhǎng)滓窍。 經(jīng)常有香客問我卖词,道長(zhǎng),這世上最難降的妖魔是什么吏夯? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任此蜈,我火速辦了婚禮,結(jié)果婚禮上噪生,老公的妹妹穿的比我還像新娘裆赵。我一直安慰自己,他們只是感情好跺嗽,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布战授。 她就那樣靜靜地躺著,像睡著了一般桨嫁。 火紅的嫁衣襯著肌膚如雪植兰。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天璃吧,我揣著相機(jī)與錄音楣导,去河邊找鬼。 笑死畜挨,一個(gè)胖子當(dāng)著我的面吹牛筒繁,可吹牛的內(nèi)容都是我干的噩凹。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼毡咏,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼驮宴!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起血当,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤幻赚,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后臊旭,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體落恼,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年离熏,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了佳谦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡滋戳,死狀恐怖钻蔑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情奸鸯,我是刑警寧澤咪笑,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站娄涩,受9級(jí)特大地震影響窗怒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蓄拣,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一扬虚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧球恤,春花似錦辜昵、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至张惹,卻和暖如春舀锨,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背诵叁。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工雁竞, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓碑诉,卻偏偏與公主長(zhǎng)得像彪腔,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子进栽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355