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

Elasticsearch 系列(二)- ES的基本概念

這篇具有很好參考價值的文章主要介紹了Elasticsearch 系列(二)- ES的基本概念。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

本章將和大家分享 Elasticsearch 的一些基本概念。話不多說,下面我們直接進入主題。

一、什么是Lucene

Lucene是Apache的開源搜索引擎類庫,提供了搜索引擎的核心API。

1、Lucene的優(yōu)勢:易擴展、高性能(基于倒排索引)

2、Lucene的缺點:只限于Java語言開發(fā)、學習曲線陡峭、不支持水平擴展

二、什么是Elasticsearch

Elasticsearch(簡稱ES)是一個開源的,分布式的全文搜索和分析引擎。它可以幫助我們從海量數(shù)據(jù)中快速找到需要的內容。

1、Elasticsearch 是基于 Lucene 開發(fā)的,相比與Lucene,Elasticsearch具備以下優(yōu)勢:支持分布式,可水平擴展;提供Restful接口,可被任何語言調用。

2、Elasticsearch 結合 Kibana、Logstash、Beats,也就是elastic stack(ELK)。被廣泛應用在日志數(shù)據(jù)分析、實時監(jiān)控等領域。

3、Elasticsearch 是 elastic stack(ELK)的核心,負責存儲、搜索、分析數(shù)據(jù)。

Elasticsearch 系列(二)- ES的基本概念

4、官網(wǎng)地址:https://www.elastic.co/cn/

三、什么是elastic stack(ELK)

是以Elasticsearch為核心的技術棧,包括Beats、Logstash、Kibana、Elasticsearch。

四、正向索引和倒排索引

1、什么是正向索引

正向索引:基于文檔id創(chuàng)建索引。查詢詞條時必須先找到文檔,而后判斷是否包含詞條。

傳統(tǒng)數(shù)據(jù)庫(如MySQL)采用正向索引,例如給下表(tb_goods)中的id創(chuàng)建索引:

Elasticsearch 系列(二)- ES的基本概念

這是我們傳統(tǒng)的正向索引,如果通過索引id去做檢索那效率就比較高,但是如果通過局部內容去做檢索那效率就比較差了。?

2、什么是文檔和詞條

文檔(document):每一條數(shù)據(jù)就是一個文檔

詞條(term):對文檔中的內容按照語義分詞,得到的詞語就是詞條

3、什么是倒排索引

倒排索引:對文檔內容分詞,對詞條創(chuàng)建索引,并記錄詞條所在文檔的信息。查詢時先根據(jù)詞條查詢到文檔id,而后獲取到文檔。

Elasticsearch采用倒排索引:

文檔(document):每條數(shù)據(jù)就是一個文檔

詞條(term):文檔按照語義分成的詞語

例如:對 title 創(chuàng)建倒排索引

Elasticsearch 系列(二)- ES的基本概念

倒排索引在做存儲的時候,它是將文檔中的內容按照語義去分成不同的詞條,然后再按照詞條去做存儲,關聯(lián)文檔id,建立起倒排索引。

搜索過程如下:

Elasticsearch 系列(二)- ES的基本概念

倒排索引的搜索過程是經(jīng)過兩次檢索的,第一次是根據(jù)用戶輸入內容的詞條去詞條列表中進行尋找,找到對應的文檔id,第二次則是拿著文檔id去找文檔。雖然經(jīng)歷了兩次查找,但是每一次查找都是索引級別的查找,所以總體的查詢效率是比較高的。

五、ES的基本概念

1、字段(Field)

字段:類似MySQL中的一個字段。

2、文檔(Document)

文檔:一條數(shù)據(jù),用json格式表示。Elasticsearch是面向文檔存儲的,可以是數(shù)據(jù)庫中的一條商品數(shù)據(jù),一個訂單信息。文檔數(shù)據(jù)會被序列化為json格式后存儲在Elasticsearch中。

Elasticsearch 系列(二)- ES的基本概念

3、類型(Type)

類型:逐漸被弱化的概念,Type就像關系型數(shù)據(jù)庫MySQL中的表,如用戶表、商品表等。注意:在Elasticsearch7.x中,一個索引庫下只有一張表,建表時不能給表取表名,默認表名為_doc。

4、索引(Index)

索引:相同類型文檔的集合,類似MySQL數(shù)據(jù)庫中的表。(由于Elasticsearch7.x版本之后,就刪除了Type類型,默認Type就是_doc,不然ES中的索引庫更像是MySQL中數(shù)據(jù)庫的概念)

5、映射(Mapping)

映射:索引中文檔的字段約束信息,類似表的結構約束

Elasticsearch 系列(二)- ES的基本概念

6、Query DSL

Query DSL:ES中提供了一種強大的檢索數(shù)據(jù)方式,這種檢索方式稱之為Query DSL(Domain Specific Language)。DSL是Elasticsearch提供的JSON風格的請求語句,用來操作Elasticsearch,實現(xiàn)CRUD。

7、分片(shard)

分片:可以將一個Index中的數(shù)據(jù)切分為多個shard,然后存儲到多臺服務器上,以增大一個Index可以存儲的數(shù)據(jù)量,加速檢索能力,提升系統(tǒng)性能。

8、副本(replica)

副本:與shard存儲的數(shù)據(jù)是相同的,起到備份作用。當shard發(fā)生故障時,可以從replica中讀取數(shù)據(jù),保證系統(tǒng)不受影響。

9、節(jié)點(node)

節(jié)點:單個Elasticsearch實例,一臺機器可以有多個節(jié)點。節(jié)點名稱默認隨機分配。

10、集群(cluster)

集群:一組Elasticsearch實例,默認集群名稱為 elasticsearch 。

11、概念對比

MySQL ?Elasticsearch ?說明
Table ?Index ?索引(Index),就是文檔的集合,類似數(shù)據(jù)庫的表(Table)。(由于Elasticsearch7.x版本之后,就刪除了Type類型,默認Type就是_doc,不然ES中的索引庫更像是MySQL中數(shù)據(jù)庫的概念)
Row ?Document ?文檔(Document),就是一條條的數(shù)據(jù),類似數(shù)據(jù)庫中的行(Row),文檔都是JSON格式。
Column ?Field ?字段(Field),就是JSON文檔中的字段,類似數(shù)據(jù)庫中的列(Column)。
Schema ?Mapping ?映射(Mapping)是索引中對文檔的約束,例如字段類型約束,類似數(shù)據(jù)庫的表結構(Schema)。
SQL ?DSL ?ES中提供了一種強大的檢索數(shù)據(jù)方式,這種檢索方式稱之為Query DSL(Domain Specific Language)。DSL是Elasticsearch提供的JSON風格的請求語句,用來操作Elasticsearch,實現(xiàn)CRUD。

12、Elasticsearch與數(shù)據(jù)庫的關系

MySQL:擅長事務類型操作,可以確保數(shù)據(jù)的安全和一致性。

Elasticsearch:擅長海量數(shù)據(jù)的搜索、分析、計算。

Elasticsearch 系列(二)- ES的基本概念

13、?元數(shù)據(jù)(Document MetaData)

元數(shù)據(jù):用于標注文檔的相關信息。

1)_index:文檔所在的索引名

2)_type:文檔所在的類型名,默認是_doc

3)_id:文檔唯一id

4)_source:存儲原始文檔,文檔的原始json數(shù)據(jù),可從這里獲取每個字段的內容

5)_all:整合所有字段內容到該字段,默認禁用

6)_score:得分

7)_version:版本

8)_seq_no:順序號

六、ES中的數(shù)據(jù)類型

1、核心數(shù)據(jù)類型

1)字符串類型:text(可分詞的文本)、keyword(精確值,例如:品牌、國家、ip地址)

2)數(shù)值類型:long、integer、short、byte、double、float、half_float、scaled_float

3)日期類型:date

4)布爾類型:boolean

5)二進制類型:binary

6)范圍類型:integer_range、float_range、long_range、double_range、date_range

2、復雜數(shù)據(jù)類型

1)數(shù)組類型:array

2)對象類型:object

3)嵌套類型:nested object

3、地理位置數(shù)據(jù)類型

1)geo_point

2)geo_shape

4、專用類型

1)記錄ip地址:ip

2)實現(xiàn)自動補全:completion

3)記錄分詞數(shù):token_count

4)記錄字符串hash值:murmur3

?

此文由博主精心撰寫轉載請保留此原文鏈接:https://www.cnblogs.com/xyh9039/p/17842159.html

版權聲明:如有雷同純屬巧合,如有侵權請及時聯(lián)系本人修改,謝謝?。?!文章來源地址http://www.zghlxwxcb.cn/news/detail-746974.html

到了這里,關于Elasticsearch 系列(二)- ES的基本概念的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

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

領支付寶紅包贊助服務器費用

相關文章

  • 【ElasticSearch系列-06】Es集群架構的搭建以及集群的核心概念

    【ElasticSearch系列-06】Es集群架構的搭建以及集群的核心概念

    ElasticSearch系列整體欄目 內容 鏈接地址 【一】ElasticSearch下載和安裝 https://zhenghuisheng.blog.csdn.net/article/details/129260827 【二】ElasticSearch概念和基本操作 https://blog.csdn.net/zhenghuishengq/article/details/134121631 【三】ElasticSearch的高級查詢Query DSL https://blog.csdn.net/zhenghuishengq/article/details/1

    2024年02月04日
    瀏覽(27)
  • Elasticsearch使用系列-ES增刪查改基本操作+ik分詞

    Elasticsearch使用系列-ES增刪查改基本操作+ik分詞

    ES是一個NoSql數(shù)據(jù)庫應用。和其他數(shù)據(jù)庫一樣,我們?yōu)榱朔奖悴僮鞑榭此枰惭b一個可視化工具 Kibana。 官網(wǎng): https://www.elastic.co/cn/downloads/kibana 和前面安裝ES一樣,選中對應的環(huán)境下載,這里選擇windows環(huán)境,注意安裝的版本一定要和ES的版本一致,不然可能會啟動不起來。

    2024年02月01日
    瀏覽(36)
  • ElasticSearch第二講:ES詳解 - ElasticSearch基礎概念

    ElasticSearch第二講:ES詳解 - ElasticSearch基礎概念

    在學習ElasticSearch之前,先簡單了解下ES流行度,使用背景,以及相關概念等。本文是ElasticSearch第二講,ElasticSearch的基礎概念。 根據(jù)DB Engine的排名顯示,ElasticSearch是最受歡迎的企業(yè)級搜索引擎。 下圖紅色勾選的是我們前面的系列詳解的,除此之外你可以看到搜索庫ElasticSea

    2024年02月09日
    瀏覽(27)
  • 【ES】Elasticsearch核心基礎概念:文檔與索引

    【ES】Elasticsearch核心基礎概念:文檔與索引

    es的核心概念主要是:index(索引)、Document(文檔)、Clusters(集群)、Node(節(jié)點)與實例,下面我們先來了解一下Document與Index。 在講解Document與Index概念之前,我們先來了解一下RESTful APIs,因為下面講解Document和Index的時候會使用到。 當我們把es服務器啟動起來之后,要怎么調用呢?

    2024年02月05日
    瀏覽(27)
  • Android OpenGL ES 學習(一) -- 基本概念

    Android OpenGL ES 學習(一) -- 基本概念

    OpenGL 學習教程 Android OpenGL ES 學習(一) – 基本概念 Android OpenGL ES 學習(二) – 圖形渲染管線和GLSL Android OpenGL ES 學習(三) – 繪制平面圖形 Android OpenGL ES 學習(四) – 正交投屏 Android OpenGL ES 學習(五) – 漸變色 Android OpenGL ES 學習(六) – 使用 VBO、VAO 和 EBO/IBO 優(yōu)化程序 Android OpenG

    2024年01月23日
    瀏覽(28)
  • Elasticsearch的一些基本概念

    Elasticsearch的一些基本概念

    Elasticsearch是面向文檔的,文檔是所有可搜索數(shù)據(jù)的最小單位。 文檔會被序列化成JSON格式,保存在Elasticsearch中。 JSON對象由字段組成,每個字段都有對應的字段類型(字符串/數(shù)值/布爾/日期/二進制/范圍類型)。 每個文檔都有一個UniqueID,你可以自己指定ID,或者通過

    2024年02月12日
    瀏覽(47)
  • 引言:ElasticSearch的基本概念

    ElasticSearch是一個基于分布式搜索和分析的開源搜索引擎。它是一個實時、可擴展、高性能的搜索引擎,可以處理大量數(shù)據(jù)并提供快速、準確的搜索結果。ElasticSearch的核心概念包括索引、類型、文檔、映射、查詢和聚合等。在本文中,我們將深入探討ElasticSearch的基本概念、核

    2024年02月19日
    瀏覽(18)
  • elasticSearch核心概念的介紹(十四):ES集群索引分片管理

    elasticSearch核心概念的介紹(十四):ES集群索引分片管理

    上一章節(jié)我們對ES的集群進行了搭建,有興趣的朋友可以參考一下elasticSearch核心概念的介紹(十三):docker搭建ES集群 這里我們來介紹了ES集群索引的分片管理 ES集群索引分片管理 介紹 分片(shard):因為ES是個分布式的搜索引擎,所以索引通常都會分解成不同部分,而這些

    2023年04月27日
    瀏覽(24)
  • ElasticSearch的介紹、安裝、基本概念

    ElasticSearch的介紹、安裝、基本概念

    ????????ElasticSearch是一個基于Lucene的搜索服務器。它提供了一個分布式多用戶能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java開發(fā)的,并作為Apache許可條款下的開放源碼發(fā)布,是當前流行的企業(yè)級搜索引擎。設計用于云計算中,能夠達到實時搜索,穩(wěn)定,可靠

    2024年02月15日
    瀏覽(32)
  • ElasticSearch內容分享(四):ES搜索引擎

    ElasticSearch內容分享(四):ES搜索引擎

    目錄 ES搜索引擎 1. DSL設置查詢條件 1.1 DSL查詢分類 1.2 全文檢索查詢 1.2.1 使用場景 1.2.2 match查詢 1.2.3 mulit_match查詢 1.3 精準查詢 1.3.1 term查詢 1.3.2 range查詢 1.4 地理坐標查詢 1.4.1 矩形范圍查詢 1.4.2 附近(圓形)查詢 1.5 復合查詢 1.5.0 復合查詢歸納 1.5.1 相關性算分 1.5.2 算分函數(shù)查

    2024年02月05日
    瀏覽(25)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領取紅包

二維碼2

領紅包