最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ElasticSearch核心概念

 更新時(shí)間:2022年07月18日 10:49:22   作者:fFee-ops  
Elaticsearch簡(jiǎn)稱為es,es是一個(gè)開(kāi)源的高擴(kuò)展的分布式全文檢索引擎,本文給大家介紹ElasticSearch基礎(chǔ)知識(shí)介紹,對(duì)ElasticSearch相關(guān)知識(shí)感興趣的朋友一起看看吧

簡(jiǎn)介

Elasticsearch 是一個(gè)分布式可擴(kuò)展的實(shí)時(shí)搜索和分析引擎,一個(gè)建立在全文搜索引擎 Apache Lucene™ 基礎(chǔ)上的搜索引擎.當(dāng)然 Elasticsearch 并不僅僅是 Lucene 那么簡(jiǎn)單,它不僅包括了全文搜索功能,還可以進(jìn)行以下工作:

  • 分布式實(shí)時(shí)文件存儲(chǔ),并將每一個(gè)字段都編入索引,使其可以被搜索。
  • 實(shí)時(shí)分析的分布式搜索引擎。
  • 可以擴(kuò)展到上百臺(tái)服務(wù)器,處理PB級(jí)別的結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)。

核心概念

以下為ES和Mysql等的對(duì)照關(guān)系

Relational DBElasticsearch
數(shù)據(jù)庫(kù)(database)索引(indices)
表(tables)types
行(rows)documents
字段(columns)fields

文檔

就是類(lèi)似關(guān)系型數(shù)據(jù)庫(kù)的一行行的記錄

elasticsearch是面向文檔的,那么就意味著索弓和搜索數(shù)據(jù)的最小單位是文檔。

elasticsearch中,文檔有幾個(gè)重要屬性:

  • 自我包含, 一篇文檔同時(shí)包含字段和對(duì)應(yīng)的值,也就是同時(shí)包含key:value !
  • 可以是層次型的
  • 靈活的結(jié)構(gòu),文檔不依賴預(yù)先定義的模式,我們知道關(guān)系型數(shù)據(jù)庫(kù)中,要提前定義字段才能使用,在elasticsearch中,對(duì)于字段是非常靈活的,有時(shí)候,我們可以忽略該字段,或者動(dòng)態(tài)的添加一個(gè)新的字段。

盡管我們可以隨意的新增或者忽略某個(gè)字段,但是,每個(gè)字段的類(lèi)型非常重要,比如一一個(gè)年齡字段類(lèi)型,可以是字符串也可以是整形。因?yàn)閑lasticsearch會(huì)保存字段和類(lèi)型之間的映射及其他的設(shè)置。這種映射具體到每個(gè)映射的每種類(lèi)型,這也是為什么在elasticsearch中,類(lèi)型有時(shí)候也稱為映射類(lèi)型。

類(lèi)型

ES7之后Type被舍棄

類(lèi)型是文檔的邏輯容器,就像關(guān)系型數(shù)據(jù)庫(kù)中的一樣。
類(lèi)型中對(duì)于字段的定義稱為映射,比如name映射為字符串類(lèi)型。

我們說(shuō)文檔是無(wú)模式的 ,它們不需要擁有映射中所定義的所有字段。

但是如果要新增一個(gè)字段,那么elasticsearch的流程是什么?

elasticsearch會(huì)自動(dòng)的將新字段加入映射,但是這個(gè)字段的不確定它是什么類(lèi)型, elasticsearch就開(kāi)始猜,如果這個(gè)值是18 ,那么elasticsearch會(huì)認(rèn)為它是整形。但是elasticsearch也可能猜不對(duì) ,所以最安全的方式就是提前定義好所需要的映射,這點(diǎn)跟關(guān)系型數(shù)據(jù)庫(kù)殊途同歸了,先定義好字段,然后再使用。

索引

可以淺顯的理解為就是數(shù)據(jù)庫(kù)。

索引是映射類(lèi)型的容器, elasticsearch中的索引是一個(gè)非常大的文檔集合。索引存儲(chǔ)了映射類(lèi)型的字段和其他設(shè)置。然后它們被存儲(chǔ)到了各個(gè)分片上。

節(jié)點(diǎn)

Node為集群中的單臺(tái)節(jié)點(diǎn),其可以為master節(jié)點(diǎn)亦可為slave節(jié)點(diǎn)(節(jié)點(diǎn)屬性由集群內(nèi)部選舉得出)并提供存儲(chǔ)相關(guān)數(shù)據(jù)的功能

分片

在es中,默認(rèn)一個(gè)Es就是一個(gè)集群,一個(gè)集群又至少有一個(gè)節(jié)點(diǎn)。而一個(gè)節(jié)點(diǎn)就是一個(gè)es進(jìn)程,節(jié)點(diǎn)可以有多個(gè)默認(rèn)索引,如果你創(chuàng)建新索引,那么索引將會(huì)由5個(gè)分片( primary shard ,又稱主分片)構(gòu)成,每一個(gè)主分片會(huì)有一個(gè)副本( replica shard ,又稱復(fù)制分片)
分片有兩種類(lèi)型:primary主片和replica副本,primary用于文檔存儲(chǔ),Replica shard是Primary Shard的副本,用于冗余數(shù)據(jù)及提高搜索性能。

在這里插入圖片描述

上圖是一個(gè)有3個(gè)節(jié)點(diǎn)的集群,可以看到主分片和對(duì)應(yīng)的復(fù)制分片都不會(huì)在同一個(gè)節(jié)點(diǎn)內(nèi),這樣有利于某個(gè)節(jié)點(diǎn)掛掉了,數(shù)據(jù)也不至于丟失。
實(shí)際上, 一個(gè)分片是一個(gè)Lucene索引, 一個(gè)包含倒排索引的文件目錄,倒排索引的結(jié)構(gòu)使得elasticsearch在不掃描全部文檔的情況下,就能告訴你哪些文檔包含特定的關(guān)鍵字

倒排索引

elasticsearch使用的是一種稱為倒排索引的結(jié)構(gòu),采用Lucene倒排索作為底層。這種結(jié)構(gòu)適用于快速的全文搜索,一個(gè)索引由文檔中所有不重復(fù)的列表構(gòu)成,對(duì)于每一個(gè)詞,都有一個(gè)包含它的文檔列表。 例如,現(xiàn)在有兩個(gè)文檔,每個(gè)文檔包含如下內(nèi)容:

Study every day, good good up to forever  # 文檔1包含的內(nèi)容
To forever, study every day,good good up  # 文檔2包含的內(nèi)容

為為創(chuàng)建倒排索引,我們首先要將每個(gè)文檔拆分成獨(dú)立的詞(或稱為詞條或者tokens) ,然后創(chuàng)建一個(gè)包含所有不重復(fù)的詞條的排序列表,然后列出每個(gè)詞條出現(xiàn)在哪個(gè)文檔:

在這里插入圖片描述

現(xiàn)在,我們?cè)噲D搜索 to forever,只需要查看包含每個(gè)詞條的文檔

在這里插入圖片描述

兩個(gè)文檔都匹配,但是第一個(gè)文檔比第二個(gè)匹配程度更高。如果沒(méi)有別的條件,現(xiàn)在,這兩個(gè)包含關(guān)鍵字的文檔都將返回。

再來(lái)看一個(gè)示例,比如我們通過(guò)博客標(biāo)簽來(lái)搜索博客文章。那么倒排索引列表就是這樣的一個(gè)結(jié)構(gòu):

博客文章(原始數(shù)據(jù))博客文章(原始數(shù)據(jù))索引列表(倒排索引)索引列表(倒排索引)
博客文章ID標(biāo)簽標(biāo)簽博客文章ID
1pythonpython1,2,3
2pythonlinux3,4
3linux,python  
4linux

如果要搜索含有python標(biāo)簽的文章,那相對(duì)于查找所有原始數(shù)據(jù)而言,查找倒排索引后的數(shù)據(jù)將會(huì)快的多。只需要查看標(biāo)簽這一欄,然后獲取相關(guān)的文章ID即可。完全過(guò)濾掉無(wú)關(guān)的所有數(shù)據(jù),提高效率!

elasticsearch的索引和Lucene的索引對(duì)比
在elasticsearch中,索引(庫(kù))這個(gè)詞被頻繁使用,這就是術(shù)語(yǔ)的使用。在elasticsearch中 ,索引被分為多個(gè)分片,每份分片是一個(gè)Lucene的索引。所以一個(gè)elasticsearch索引是由多 個(gè)Lucene索引組成的。

到此這篇關(guān)于ElasticSearch簡(jiǎn)介的文章就介紹到這了,更多相關(guān)ElasticSearch簡(jiǎn)介內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 完美解決DeepSeek服務(wù)器繁忙問(wèn)題

    完美解決DeepSeek服務(wù)器繁忙問(wèn)題

    文章介紹解決DeepSeek服務(wù)器繁忙問(wèn)題的三種方案用戶端即時(shí)優(yōu)化、高級(jí)技術(shù)方案和替代方案,用戶端方案包括使用網(wǎng)絡(luò)加速工具和錯(cuò)峰使用策略,高級(jí)技術(shù)方案涉及本地化部署和通過(guò)第三方平臺(tái)調(diào)用模型,替代方案推薦使用納米AI搜索、硅基流動(dòng)和秘塔AI等工具,感興趣的朋友一起看看
    2025-02-02
  • 編程界主流腳本編程語(yǔ)言的比較和選擇

    編程界主流腳本編程語(yǔ)言的比較和選擇

    這篇文章主要介紹了編程界主流腳本編程語(yǔ)言的比較和選擇,本文分析了Unix/Linux Shell、Python/Jython、Ruby/JRuby、Perl、Groovy等腳本語(yǔ)言的優(yōu)缺點(diǎn),幫助您快速了解各大語(yǔ)言,需要的朋友可以參考下
    2015-05-05
  • Unicode編碼大揭秘

    Unicode編碼大揭秘

    這篇文章主要介紹了Unicode編碼大揭秘,本文介紹了編碼的歷史,Unicode的出現(xiàn)原因等,需要的朋友可以參考下
    2014-07-07
  • 使用八爪魚(yú)采集器采集滾動(dòng)加載和點(diǎn)擊加載數(shù)據(jù)的教程

    使用八爪魚(yú)采集器采集滾動(dòng)加載和點(diǎn)擊加載數(shù)據(jù)的教程

    現(xiàn)在很多網(wǎng)站的列表,需要向下滾動(dòng)頁(yè)面,才能加載出新數(shù)據(jù)?;蛘唿c(diǎn)擊“查看更多”加載新數(shù)據(jù)。使用廣泛的火車(chē)頭采集器相對(duì)無(wú)力,使用八爪魚(yú)采集器可以采集滾動(dòng)刷新和點(diǎn)擊刷新。
    2023-05-05
  • arcgis?pro?3.0.2?安裝及?geemap安裝過(guò)程

    arcgis?pro?3.0.2?安裝及?geemap安裝過(guò)程

    ArcGIS?Pro是一個(gè)專業(yè)的桌面GIS應(yīng)用程序,可以探索,可視化,分析和管理二維和三維數(shù)據(jù),這篇文章主要介紹了arcgis?pro?3.0.2安裝及geemap,需要的朋友可以參考下
    2023-08-08
  • 都2019年了,還問(wèn)http中GET和POST的區(qū)別

    都2019年了,還問(wèn)http中GET和POST的區(qū)別

    最近看了一些同學(xué)的面經(jīng),發(fā)現(xiàn)無(wú)論什么技術(shù)崗位,還是會(huì)問(wèn)到 get 和 post 的區(qū)別,而搜索出來(lái)的答案并不能讓我們裝得一手好逼,那就讓我們從 HTTP 報(bào)文的角度來(lái)擼一波,從而搞明白他們的區(qū)別
    2019-02-02
  • 帶你了解HDFS的Namenode 高可用機(jī)制

    帶你了解HDFS的Namenode 高可用機(jī)制

    為了Hadoop更好的應(yīng)用,Hadoop 2.0 及之后版本增加了 Namenode 高可用機(jī)制,本文詳細(xì)介紹 Namenode 高可用機(jī)制,可供大家參考
    2021-08-08
  • Web Jmeter–接口測(cè)試工具詳解

    Web Jmeter–接口測(cè)試工具詳解

    本文主要介紹Web Jmeter接口測(cè)試工具,這里整理了詳細(xì)的資料來(lái)說(shuō)明Jmeter 的使用,有需要的小伙伴可以參考下
    2016-09-09
  • TypeScript類(lèi)型檢查詳談及火爆原因

    TypeScript類(lèi)型檢查詳談及火爆原因

    這篇文章主要為大家介紹了TypeScript類(lèi)型檢查以及火爆原因,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Hadoop環(huán)境搭建過(guò)程中遇到的問(wèn)題及解決方法

    Hadoop環(huán)境搭建過(guò)程中遇到的問(wèn)題及解決方法

    這篇文章主要介紹了Hadoop環(huán)境搭建過(guò)程中遇到的問(wèn)題及解決方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2019-08-08

最新評(píng)論

惠安县| 雷波县| 广德县| 株洲市| 城固县| 健康| 海安县| 化隆| 屏边| 新化县| 石屏县| 淮南市| 博湖县| 青岛市| 祁连县| 玛纳斯县| 那曲县| 镶黄旗| 建宁县| 兰坪| 石狮市| 绥江县| 海阳市| 柞水县| 娱乐| 柯坪县| 鹤山市| 塔河县| 青岛市| 县级市| 绍兴市| 夏邑县| 宣威市| 于都县| 祁东县| 鲜城| 依兰县| 新郑市| 米脂县| 剑川县| 祥云县|