當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 架構(gòu)師社區(qū)
[導(dǎo)讀]Elasticsearch 是如何誕生的?本文回顧了 Elasticsearch 創(chuàng)始人 Shay Banon 的創(chuàng)業(yè)經(jīng)歷和 Elasticsearch 的誕生歷程。

作者 | Diana Kupfer  譯者 | 張健欣  策劃 | 萬佳

原文鏈接:https://jaxenter.com/elasticsearch-founder-interview-112677.html

Elasticsearch 是如何誕生的?本文回顧了 Elasticsearch 創(chuàng)始人 Shay Banon 的創(chuàng)業(yè)經(jīng)歷和 Elasticsearch 的誕生歷程。

當(dāng)今,Elasticsearch 如此出名,從 GitHub 到 Guardian,許多大型企業(yè)都用它來幫助自己理解用戶交互數(shù)據(jù)并提升它們的搜索結(jié)果。

1 從一個(gè)簡(jiǎn)單的烹飪 App 說起

2004 年,Shay Banon 開發(fā)了 Compass,這是一個(gè)基于 Lucene 技術(shù)的應(yīng)用。回憶起 Compass 的誕生,他的臉上總會(huì)掛滿微笑。某種意義上,Shay Banon、Compass 與 Lucene 的關(guān)系是一種偶然。

那時(shí),他剛結(jié)婚。為支持妻子成為廚師的夢(mèng)想,他們搬到倫敦。Shay Banon 正值失業(yè)狀態(tài),急需一份工作,所以他決定試試一些新技術(shù),讓自己的技能更符合當(dāng)前時(shí)代的需求。因?yàn)橹挥姓嬲龂L試構(gòu)建一些東西時(shí),新技術(shù)才能發(fā)揮作用,所以他決定構(gòu)建一個(gè)烹飪 App,讓妻子可以用來搜索她在烹飪課程中收集的烹飪信息。

為開發(fā)這款 App,他認(rèn)真比較了很多不同技術(shù)的優(yōu)缺點(diǎn)。在他眼里,這款 App 的核心是一個(gè)搜索框。只要你在這個(gè)搜索框中輸入一個(gè)概念、一個(gè)想法或者一種配料,它就可以開始搜索可能相關(guān)的烹飪知識(shí)。很快,他接觸到 Lucene,它當(dāng)時(shí)是 Java 上可用的搜索庫(kù)。他說:“我沉浸其中,嘗試在典型的 Java 應(yīng)用中簡(jiǎn)化 Lucene 的使用。這個(gè)過程中誕生了 Compass。”

Shay Banon 被這個(gè)項(xiàng)目深深吸引,把更多的時(shí)間和精力轉(zhuǎn)向這個(gè)項(xiàng)目,而非烹飪 App 本身。幾個(gè)月后,他決定把它開源,而 Compass 很快流行起來。Compass 允許用戶輕松地將他們的領(lǐng)域模型(在典型程序中映射應(yīng)用程序或業(yè)務(wù)概念的代碼)映射到 Lucene,方便地索引,然后輕松地搜索它們。這種自由讓越來越多的人開始使用 Compass 和 Lucene,但是他從未預(yù)料到這種情況。

假設(shè)在你的金融應(yīng)用程序中有一個(gè)交易模型,你可以輕松地使用 Compass 將該交易索引到 Lucene 中,然后搜索它,并自由地搜索交易的任何方面信息,并允許用戶將這種自由傳遞給他們的用戶,這被證明是一個(gè)功能非常強(qiáng)大的概念。

“實(shí)際上,這讓我可以與實(shí)際用戶交談和工作,他們和我一樣,發(fā)現(xiàn)了搜索在向用戶提供業(yè)務(wù)價(jià)值方面所具有的驚人能力?!盨hay Banon 說。

10 年后的今天,它就是 Elasticsearch 的基礎(chǔ)!

2 Apache Lucene

Shay Banon 認(rèn)為,雖然自己可能比大多數(shù) Apache Lucene 開發(fā)者更早參與這個(gè)項(xiàng)目,但是許多開發(fā)者的全心投入,將 Lucene 帶入一個(gè)全新的發(fā)展水平。

在 Compass 和 Elasticsearch 早期,他花費(fèi)無數(shù)個(gè)小時(shí),與 Mike McCandless 和 Simon Willnauer 這樣的人討論 Lucene 的方方面面。

他說:“當(dāng)開始 Elasticsearch 時(shí),我想確保我們建立的公司能保持 Apache Lucene 的快速發(fā)展速度和卓越水平。讓我興奮的是,從一開始就有 Simon、Uri Boness 和 Martijn Van Groningen 這樣的 Lucene 專家參與其中。即便如此,如果你當(dāng)時(shí)問我,我也絕不會(huì)想到今天我們能吸引如此強(qiáng)大的專注于 Apache Lucene 的團(tuán)隊(duì)。“

3 “推動(dòng)”和“擴(kuò)展”Lucene

在 Shay Banon 看來,Elasticsearch“擴(kuò)展了”Apache Lucene 的領(lǐng)域。例如,推動(dòng) Apache Lucene 變得更具彈性的需要,意外地(從 Lucene 的角度)強(qiáng)調(diào)索引速度,或者在工具方面對(duì) Lucene 的可見性。

“每一天,我都會(huì)聽到一個(gè) Lucene 開發(fā)人員說‘我從未想過 Lucene 能用來解決這種問題’,或以這種方式使用。對(duì)我來說,這太棒了!因?yàn)槲覀冋趧?chuàng)造一個(gè)環(huán)境,在這個(gè)環(huán)境中,使用 Elasticsearch 平臺(tái)的個(gè)人之間存在著一種創(chuàng)造性的聯(lián)系,正是這種聯(lián)系促使 Apache Lucene 向前發(fā)展。同時(shí),作為一家公司,我們有能力為我合作過的最有才華的開發(fā)群體之一提供機(jī)會(huì)去實(shí)現(xiàn)它。”

當(dāng) Elasticsearch 不再是個(gè)人項(xiàng)目時(shí),他們圍繞它成立了一家公司,一個(gè)很大的好處是可以在 Elasticsearch 本身的發(fā)展上投入更多資金。除了 Shay Banon,公司的另一位創(chuàng)始人 Simon Willnauer 帶領(lǐng) Elasticsearch 和團(tuán)隊(duì),開始將它推向一個(gè)全新的水平。他的首要任務(wù)之一是為 Elasticsearch 創(chuàng)建一個(gè)全新的測(cè)試基礎(chǔ)設(shè)施(靈感來自 Apache Lucene 測(cè)試基礎(chǔ)設(shè)施,包括隨機(jī)測(cè)試,順便說一句,這是一個(gè)很棒的話題)。

4 創(chuàng)建一個(gè)新的測(cè)試基礎(chǔ)設(shè)施

隨著測(cè)試工作的不斷深入,在 Shay Banon 看來,構(gòu)建分布式系統(tǒng)最重要的一個(gè)方面就是測(cè)試和驗(yàn)證其行為的能力。從概念上講,很多人都能想到分布式系統(tǒng),它意味著不同的進(jìn)程,在不同的機(jī)器上,通過網(wǎng)絡(luò)運(yùn)行。當(dāng)涉及到測(cè)試時(shí),緊隨其后的一個(gè)想法是,它應(yīng)該被如何測(cè)試。這將創(chuàng)造一個(gè)非常復(fù)雜的測(cè)試工具,需要很長(zhǎng)時(shí)間才能運(yùn)行,而且故障發(fā)生時(shí),它很難進(jìn)行調(diào)試。

Elasticsearch簡(jiǎn)史:源自給老婆開發(fā)烹飪App

“異??焖俚摹睌?shù)據(jù)搜索 – 通過 elasticsearch.com

在 Elasticsearch,這家公司投入了大量時(shí)間來構(gòu)建一個(gè)測(cè)試工具,它能作為“常規(guī)”集成測(cè)試的一部分運(yùn)行其分布式測(cè)試。這意味著,在單個(gè) JVM 中,運(yùn)行 Elasticsearch 的每一次測(cè)試時(shí),用戶就可以啟動(dòng)并操作整個(gè)集群。這包括一些簡(jiǎn)單的事情,例如在索引數(shù)據(jù)時(shí)回滾重啟,也包括一些更有趣的測(cè)試,例如網(wǎng)絡(luò)斷聯(lián),一直到模擬長(zhǎng) GC 暫停,所有這些都是驗(yàn)證一個(gè)分布式系統(tǒng)行為的關(guān)鍵。

能依賴這樣的基礎(chǔ)設(shè)施,并且可以非常簡(jiǎn)單快速地運(yùn)行這些測(cè)試,能構(gòu)建一個(gè)更具彈性的系統(tǒng),并且更容易暴露“陰暗角落”和邊緣情況。

顯然,構(gòu)建一個(gè)分布式系統(tǒng)還需要很多,但正如 Simon 所說,“如果它沒有測(cè)試,你怎么知道它能工作呢?”這是構(gòu)建一個(gè)分布式系統(tǒng)的最基本的部分之一。

當(dāng)今的企業(yè)正被數(shù)據(jù)淹沒,他們希望能理解這些數(shù)據(jù)并從中有所洞見。他們希望以最簡(jiǎn)單的方式實(shí)現(xiàn)這一點(diǎn),獲得最大的價(jià)值。

“事實(shí)證明,搜索是實(shí)現(xiàn)這種目標(biāo)一種很好的方式。當(dāng)我說搜索時(shí),指的是更廣泛意義上的搜索,就像我個(gè)人最初開發(fā)烹飪 App 一樣,個(gè)人希望從數(shù)據(jù)中獲得見解和知識(shí)。當(dāng)我們說 Elasticsearch 中的搜索時(shí),指的是自由文本搜索、結(jié)構(gòu)化搜索和分析的結(jié)合,以最純粹的方式,無論數(shù)據(jù)量多大,都是實(shí)時(shí)的?!盨hay Banon 說。

5 受《少數(shù)派報(bào)告》啟發(fā)的技術(shù)

還記得《少數(shù)派報(bào)告》(Minority Report)中 Tom Cruise 的角色與他所探索的數(shù)據(jù)交互場(chǎng)景嗎?不斷地學(xué)習(xí)和塑造他所追求的東西,在沒有任何限制的情況下實(shí)時(shí)放大縮?。窟@就是這家公司試圖讓用戶用 Elasticsearch 做的事(雖然沒有花哨的揮手互動(dòng),至少現(xiàn)在還沒有)。

這是一個(gè)宏偉目標(biāo)。Shay Banon 堅(jiān)信有能力實(shí)現(xiàn)它?!拔覀兊挠脩舨粩喙膭?lì)我們,并驗(yàn)證了我們走在正確的路上。用戶每天都告訴我們,他們用我們產(chǎn)品實(shí)現(xiàn)的目標(biāo)是他們從未想過的。他們一直尋找創(chuàng)新的方法來使用 Elasticsearch,而且,我認(rèn)為這是一個(gè)偉大產(chǎn)品的標(biāo)志,它允許用戶達(dá)到他們最初從未想象過的創(chuàng)造性水平”。

6Elasticsearch 成功的核心之一

Shay Banon 在 Elasticsearch 中遇到的第一個(gè)障礙是,之前的開源項(xiàng)目 Compass 試圖讓用戶在更窄的范圍內(nèi)了解他所看到的。那時(shí),當(dāng)對(duì)用戶說“搜索”時(shí),他們不會(huì)立即掌握可以實(shí)現(xiàn)的所有可能性。

他回憶說:“10 年前,我對(duì)它一無所知。但是,通過構(gòu)建一種允許用戶將任何領(lǐng)域模型映射到“搜索”(即 Lucene),使得跨越這種心理障礙變得更加簡(jiǎn)單,突然之間,使用案例爆炸性增長(zhǎng),Compass 和 Lucene 被用來賦能‘非典型搜索用例’?!?/span>

使用 Elasticsearch,通過標(biāo)準(zhǔn)化 JSON 和 RESTful 接口,用戶借此可以做很多事。很快,在一種更廣泛的基礎(chǔ)上:從各種各樣的開發(fā)人員,從不同的編程語言,到不同的框架,到許許多多不同的用例。

最后,這一切歸結(jié)為搜索的力量,從技術(shù)上來說,是 Elasticsearch 和 Apache Lucene 的力量。就實(shí)現(xiàn)而言,數(shù)據(jù)是典型的 Web 頁(yè)面或者 word 文檔,還是 Foursquare 上的地理位置、銀行里的一筆交易、web 服務(wù)器上的一條日志,或者一種度量標(biāo)準(zhǔn),其實(shí)并不重要。所有這些數(shù)據(jù)實(shí)際上都是結(jié)構(gòu)化和非結(jié)構(gòu)化數(shù)據(jù)的組合,無論數(shù)據(jù)的形式或大小如何,人們都希望對(duì)其進(jìn)行探尋、搜索并擁有《少數(shù)派報(bào)告》那樣的體驗(yàn)。


免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉