国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【編程二三事】ES究竟是個啥?

這篇具有很好參考價值的文章主要介紹了【編程二三事】ES究竟是個啥?。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報違法"按鈕提交疑問。

在最近的項(xiàng)目中,總是或多或少接觸到了搜索的能力。而在這些項(xiàng)目之中,或多或少都離不開一個中間件 - ElasticSearch。
今天忙里偷閑,就來好好了解下這個中間件是用來干什么的。

ES是什么?

? ES全稱ElasticSearch,是個基于Lucene的搜索服務(wù)器。其作為一個高度可拓展的開源全文搜索和分析引擎,可用于快速對大數(shù)據(jù)進(jìn)行存儲,搜索和分析。

? ElasticSearch和Logstash(數(shù)據(jù)收集、日志解析引擎)、Kibana(分析和可視化平臺)一起開發(fā)的。這三個產(chǎn)品被設(shè)計成一個集成解決方案,稱為“Elastic Stack”(以前被稱為ELK技術(shù)棧)。

為什么要用ES?

傳統(tǒng)關(guān)系數(shù)據(jù)庫的缺陷

? 為了了解ES的優(yōu)勢在哪,我們首先需要回顧傳統(tǒng)的mysql數(shù)據(jù)庫作為搜索的時候都有哪些缺陷。

在我們?nèi)粘K阉鞯臅r候,我們都需要通過輸入關(guān)鍵詞,去檢索出來相關(guān)的數(shù)據(jù)。

以搜索“搜索引擎”為例子,你在百度、搜狗等搜索引擎中輸入這個關(guān)鍵字,就會得到一系列的搜索結(jié)果:
【編程二三事】ES究竟是個啥?,elasticsearch,大數(shù)據(jù),搜索引擎

? 如果這些結(jié)果都存儲在Mysql數(shù)據(jù)庫中,它大致會呈現(xiàn)如下的存儲樣式:
【編程二三事】ES究竟是個啥?,elasticsearch,大數(shù)據(jù),搜索引擎

? 每一行會存儲唯一標(biāo)識id、數(shù)據(jù)內(nèi)容。

因此,如果需要按照關(guān)系型數(shù)據(jù)庫的方式,需要逐行進(jìn)行搜索匹配相關(guān)詞,甚至需要用上模糊搜索,如:‘LIKE %xx%’ 等。

? 且在mysql中,像這類模糊搜索語句,mysql是無法對其建立索引的。因此如果在大數(shù)據(jù)量下搜索將變得十分緩慢、困難。

? 而且另外一個點(diǎn)在于,對于搜索引擎來說,還需要將用戶輸入的詞做拆分,依舊是以”搜索引擎“為例子,那么搜索結(jié)果其實(shí)需要同時包含“搜索”、“引擎”、“搜索引擎”的結(jié)果,而這無疑又一次加大了采用關(guān)系型數(shù)據(jù)庫實(shí)現(xiàn)的復(fù)雜性。

? 總結(jié)下來,使用關(guān)系型數(shù)據(jù)庫處理搜索問題,主要有兩個較大的問題:模糊搜索困難、分詞查詢支持困難。

? 那么為什么關(guān)系型數(shù)據(jù)庫會有這樣的問題呢?本質(zhì)上是關(guān)系型數(shù)據(jù)庫的正排索引限制了其搜索性能。你可能這里會好奇了。什么是正排索引呀?

? 以上面的數(shù)據(jù)為例子,正排索引就是先找到對應(yīng)的文章,而后才能夠知道每個文章中對應(yīng)的詞是什么。繪制成圖片大概就是下面的樣子:

【編程二三事】ES究竟是個啥?,elasticsearch,大數(shù)據(jù),搜索引擎

? 因此,如果用這樣正排索引的方式搜索,相當(dāng)于每次都要進(jìn)行全表的掃描、匹配,那么自然很難支持搜索的能力。

ElasticSearch優(yōu)勢

倒排索引

? 上面我們總結(jié)了傳統(tǒng)數(shù)據(jù)庫實(shí)現(xiàn)搜索的主要難度在于:模糊搜索困難、分詞查詢困難

而其歸根結(jié)底是由于數(shù)據(jù)庫的組織方式是通過正排索引實(shí)現(xiàn)的。導(dǎo)致了每次搜索需要匹配的難度大。

? 那么,這里可能就有聰明的同學(xué)想到了,如果根據(jù)文章搜索詞的難度大,那么是否轉(zhuǎn)變一下存儲方式,先存詞,再存文章,不就可以一下子搜索到了嘛!

【編程二三事】ES究竟是個啥?,elasticsearch,大數(shù)據(jù),搜索引擎

? 如果你想到了這個,那么恭喜你,你已經(jīng)具備從零開始研發(fā)ES的潛力的。沒錯,ES為了支持快捷的搜索,底層的實(shí)現(xiàn)也是這么做的,而這種實(shí)現(xiàn)方法就是大名鼎鼎的----“倒排索引”

數(shù)據(jù)存儲結(jié)構(gòu)

? 要更深入的了解ES的倒排索引的設(shè)計邏輯,我們可以先參照Mysql的數(shù)據(jù)存儲設(shè)計介紹幾個ES中的常見名詞:

Mysql等關(guān)系數(shù)據(jù)庫 ElasticSearch數(shù)據(jù)庫
數(shù)據(jù)庫(dataBase) 索引(index)
表(table) 類型(type)
行(row) 文檔(document)
列(column) 字段(field)

? 結(jié)合同Mysql的定義對比,我們就不難理解如下的ES數(shù)據(jù)代表什么含義了:

{
    "took": 1,
    "timed_out": false,
    "_shards": {
        "total": 1,
        "successful": 1,
        "skipped": 0,
        "failed": 0
    },
    "hits": {
        "total": {
            "value": 1,
            "relation": "eq"
        },
        "max_score": 1.0,
        "hits": [
            {
                "_index": "china",
                "_type": "_doc",
                "_id": "beijing",
                "_score": 1.0,
                "_source": {
                    "name": "beijing"
                }
            }
        ]
    }
}

? 像如上的數(shù)據(jù),就是實(shí)際通過es查詢得到的數(shù)據(jù)。其中的__index就是代表所屬的數(shù)據(jù)索引; __type就是指所屬的的文檔類型,__id就是對應(yīng)分詞出來的結(jié)果內(nèi)容

? 那么我們現(xiàn)在已經(jīng)知道了ES是如何存儲數(shù)據(jù)的,那么還有個問題:ES建立倒排索引的流程是怎樣的呢?這個說來也并不困難,主要有以下四步:
【編程二三事】ES究竟是個啥?,elasticsearch,大數(shù)據(jù),搜索引擎

第一步,首先就是需要獲取文本數(shù)據(jù),常見的方法就有網(wǎng)頁爬蟲、logstash搜集的方式。

第二步,等到數(shù)據(jù)收集完成以后,我們需要采用分詞器進(jìn)行分詞。就是需要將咱們的文本數(shù)據(jù)拆分成多個細(xì)小的單詞,用于后續(xù)的倒排索引的建立。

第三步,就是生成倒排索引了。

第四步,就是將相關(guān)數(shù)據(jù)同步到集群中的其他節(jié)點(diǎn)上。

存在缺陷

? 那么說了這么多,ES就沒有缺點(diǎn)嗎?那當(dāng)然也不是的,從上述的數(shù)據(jù)處理流程、處理原理來看,Es主要有兩個問題:

1、需要分詞,寫入存儲較慢。

2、需要建立的索引量大。

? 這兩種問題也不難理解。對于ES來說,一個文本存儲的方式寫入的時候需先分詞,拆分成多個詞才可以插入到索引中。而進(jìn)行分詞的時候就會耗費(fèi)較多的時間。

? 同時相比傳統(tǒng)的正排索引,原本只需要建立一個索引的文章,現(xiàn)在需要按照詞拆分后建立索引。因此創(chuàng)建出的數(shù)量就會比原本多得多。

?

ES的實(shí)際應(yīng)用

? 上文介紹了ES的原理、優(yōu)勢和劣勢。那么什么場景下會用到ES呢?其實(shí)最常見的場景就是日志實(shí)時分析

? 這是推動 ES 快速發(fā)展的場景,從官方統(tǒng)計數(shù)字、云上運(yùn)營經(jīng)驗(yàn)看,占據(jù)了 ES 使用場景的 70%+。Elastic Stack 提供的完整日志解決方案,已經(jīng)助力 ES 成為日志實(shí)時分析的開源首先方案。

【編程二三事】ES究竟是個啥?,elasticsearch,大數(shù)據(jù),搜索引擎

? 簡單來說,日志實(shí)時分析主要有三個主要部分組成:logstash、ES集群、kibana。logstash負(fù)責(zé)收集各個業(yè)務(wù)系統(tǒng)的日志并推送到ES集群,ES將接收到的日志數(shù)據(jù)收集起來建立索引。kibana則是提供了一個可視化的搜索能力,用于支持運(yùn)維人員進(jìn)行相關(guān)報錯日志的搜索。

參考文獻(xiàn)

ES是什么?

Elasticsearch最新完整版教程通俗易懂,最適合后端編程人員的elasticsearch快速實(shí)戰(zhàn)教程_ES搜索引擎之核心技術(shù)+實(shí)戰(zhàn)教學(xué)

終于有人把Elasticsearch原理講透了!文章來源地址http://www.zghlxwxcb.cn/news/detail-661000.html

到了這里,關(guān)于【編程二三事】ES究竟是個啥?的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【周末閑談】關(guān)于計算機(jī)的二三事

    【周末閑談】關(guān)于計算機(jī)的二三事

    個人主頁:【??個人主頁】 系列專欄:【??周末閑談】 世界上第一臺通用計算機(jī)“ENIAC”于1946年2月14日在美國賓夕法尼亞大學(xué)誕生。發(fā)明人是美國人 莫克利(JohnW.Mauchly) 和 艾克特(J.PresperEckert) ,今天我們就來談?wù)劦谝慌_計算機(jī)的誕生,與它之后的故事。 世界上第一

    2024年02月13日
    瀏覽(21)
  • 【機(jī)器視覺】電腦連接相機(jī)配置的二三事

    【機(jī)器視覺】電腦連接相機(jī)配置的二三事

    ????????最近手上有個機(jī)器視覺項(xiàng)目,現(xiàn)場總是反饋相機(jī)拍照取圖是取的上一次的圖,折騰很久,發(fā)現(xiàn)是配置的鍋,這里記錄下,防止下次再犯。 舉例:第一個網(wǎng)口:100.100. 100 .100 ??? 第二個網(wǎng)口:100.100. 101 .200 第三位必須要不同網(wǎng)段: IP設(shè)置不對,都沒法連接相機(jī) ??

    2024年02月09日
    瀏覽(30)
  • jenkins遠(yuǎn)程部署springboot項(xiàng)目之二三事

    jenkins遠(yuǎn)程部署springboot項(xiàng)目之二三事

    小弟在接上次安裝完jenkins后,現(xiàn)在本地部署應(yīng)用,又因?yàn)橐鐧C(jī)器部署,所以寫下這篇,以防踩坑。 一、安裝插件 在插件管理中安裝Publish Over SSH插件 如果打包是war包,在安裝Deploy to container插件 二、配置遠(yuǎn)程信息 在系統(tǒng)設(shè)置中,找到publish over ssh 在ssh server點(diǎn)擊新增 ????

    2024年01月23日
    瀏覽(27)
  • antd Pro組件ProFormList自定義action二三事

    antd Pro組件ProFormList自定義action二三事

    ProFormList是ant design pro的結(jié)構(gòu)化數(shù)據(jù)組件,通常用來實(shí)現(xiàn)動態(tài)表單。 現(xiàn)在有個需求,除了組件自帶的刪除和復(fù)制,還需要增加兩個按鈕來實(shí)現(xiàn)每個item位置的上下移動,如圖所示: 查看官方文檔,組件有提供自定義action的API--actionRender,介紹如下 API提供的參數(shù)--action提供了移動

    2024年02月05日
    瀏覽(30)
  • elasticsearch(ES)分布式搜索引擎04——(數(shù)據(jù)聚合,自動補(bǔ)全,數(shù)據(jù)同步,ES集群)

    elasticsearch(ES)分布式搜索引擎04——(數(shù)據(jù)聚合,自動補(bǔ)全,數(shù)據(jù)同步,ES集群)

    **聚合(aggregations)**可以讓我們極其方便的實(shí)現(xiàn)對數(shù)據(jù)的統(tǒng)計、分析、運(yùn)算。例如: 什么品牌的手機(jī)最受歡迎? 這些手機(jī)的平均價格、最高價格、最低價格? 這些手機(jī)每月的銷售情況如何? 實(shí)現(xiàn)這些統(tǒng)計功能的比數(shù)據(jù)庫的sql要方便的多,而且查詢速度非常快,可以實(shí)現(xiàn)近

    2024年02月08日
    瀏覽(36)
  • Elasticsearch (ES) 搜索引擎: 數(shù)據(jù)類型、動態(tài)映射、多類型(子字段)

    原文鏈接:https://xiets.blog.csdn.net/article/details/132348634 版權(quán)聲明:原創(chuàng)文章禁止轉(zhuǎn)載 專欄目錄:Elasticsearch 專欄(總目錄) ES 映射字段的 數(shù)據(jù)類型 ,官網(wǎng)文檔參考:Field data types。 下面是 ES 常用的一些基本數(shù)據(jù)類型。 字符串 類型: keyword :類型。 text :文本類型。

    2024年03月23日
    瀏覽(38)
  • JAVA設(shè)計模式第十二講:大廠實(shí)踐 - 美團(tuán): 設(shè)計模式二三事

    JAVA設(shè)計模式第十二講:大廠實(shí)踐 - 美團(tuán): 設(shè)計模式二三事

    設(shè)計模式是眾多軟件開發(fā)人員經(jīng)過長時間的試錯和應(yīng)用總結(jié)出來的,解決特定問題的一系列方案?,F(xiàn)行的部分教材在介紹設(shè)計模式時,有些會因?yàn)榘咐撾x實(shí)際應(yīng)用場景而令人費(fèi)解,有些又會因?yàn)閳鼍昂唵味@得有些小題大做。本文是設(shè)計模式第十二講,會結(jié)合在美團(tuán)金融服

    2024年02月11日
    瀏覽(22)
  • ES搜索引擎入門+最佳實(shí)踐(九):項(xiàng)目實(shí)戰(zhàn)(二)--elasticsearch java api 進(jìn)行數(shù)據(jù)增刪改查

    ? ? ? ? 本篇是這個系列的最后一篇了,在這之前可以先看看前面的內(nèi)容: ES搜索引擎入門+最佳實(shí)踐(一)_flame.liu的博客-CSDN博客 ES搜索引擎入門+最佳實(shí)踐(二)_flame.liu的博客-CSDN博客 ES搜索引擎入門+最佳實(shí)踐(三)_flame.liu的博客-CSDN博客 ES搜索引擎入門+最佳實(shí)踐(四)_flame.liu的博客

    2024年02月12日
    瀏覽(28)
  • Java SpringBoot API 實(shí)現(xiàn)ES(Elasticsearch)搜索引擎的一系列操作(超詳細(xì))(模擬數(shù)據(jù)庫操作)

    Java SpringBoot API 實(shí)現(xiàn)ES(Elasticsearch)搜索引擎的一系列操作(超詳細(xì))(模擬數(shù)據(jù)庫操作)

    小編使用的是elasticsearch-7.3.2 基礎(chǔ)說明: 啟動:進(jìn)入elasticsearch-7.3.2/bin目錄,雙擊elasticsearch.bat進(jìn)行啟動,當(dāng)出現(xiàn)一下界面說明,啟動成功。也可以訪問http://localhost:9200/ 啟動ES管理:進(jìn)入elasticsearch-head-master文件夾,然后進(jìn)入cmd命令界面,輸入npm?run?start?即可啟動。訪問http

    2024年02月04日
    瀏覽(34)
  • 使用Logstash同步mysql數(shù)據(jù)到Elasticsearch(親自踩坑)_將mysql中的數(shù)據(jù)導(dǎo)入es搜索引擎利用logstash(1)

    使用Logstash同步mysql數(shù)據(jù)到Elasticsearch(親自踩坑)_將mysql中的數(shù)據(jù)導(dǎo)入es搜索引擎利用logstash(1)

    先自我介紹一下,小編浙江大學(xué)畢業(yè),去過華為、字節(jié)跳動等大廠,目前阿里P7 深知大多數(shù)程序員,想要提升技能,往往是自己摸索成長,但自己不成體系的自學(xué)效果低效又漫長,而且極易碰到天花板技術(shù)停滯不前! 因此收集整理了一份《2024年最新大數(shù)據(jù)全套學(xué)習(xí)資料》,

    2024年04月28日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包