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

Elasticsearch索引優(yōu)化指南:分片、副本、mapping和analyzer

這篇具有很好參考價(jià)值的文章主要介紹了Elasticsearch索引優(yōu)化指南:分片、副本、mapping和analyzer。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

Elasticsearch是一個(gè)開源的分布式搜索引擎,它的數(shù)據(jù)存儲(chǔ)和查詢速度非???。然而,在面對(duì)大規(guī)模的數(shù)據(jù)集和高并發(fā)訪問時(shí),Elasticsearch的性能也可能受到一些影響。為了最大程度地提高Elasticsearch的性能,我們需要對(duì)索引進(jìn)行優(yōu)化。本篇博客將介紹Elasticsearch索引優(yōu)化的幾個(gè)關(guān)鍵方面,包括調(diào)整分片和副本、使用mapping和analyzer等。

1. 分片和副本

Elasticsearch使用分片(shard)和副本(replica)來實(shí)現(xiàn)分布式存儲(chǔ)和高可用性。分片是將索引劃分成多個(gè)部分,每個(gè)部分都是一個(gè)獨(dú)立的Lucene索引。而副本則是分片的備份,每個(gè)分片可以有多個(gè)副本。

默認(rèn)情況下,Elasticsearch會(huì)為每個(gè)索引創(chuàng)建5個(gè)主分片和1個(gè)副本,總共會(huì)有10個(gè)分片(5個(gè)主分片+5個(gè)副本分片)。這意味著,每個(gè)索引的數(shù)據(jù)會(huì)被劃分成10個(gè)部分,并且每個(gè)部分都會(huì)有一個(gè)主分片和一個(gè)副本分片。這種設(shè)置對(duì)于小規(guī)模索引來說已經(jīng)足夠,但是在面對(duì)大規(guī)模的數(shù)據(jù)集時(shí),我們可能需要進(jìn)行調(diào)整。

1.1 調(diào)整主分片數(shù)量

主分片數(shù)量的設(shè)置會(huì)直接影響到索引的分布式性能和可擴(kuò)展性。如果主分片數(shù)量太少,會(huì)導(dǎo)致每個(gè)分片中的數(shù)據(jù)量過大,而且無法利用集群中所有節(jié)點(diǎn)的計(jì)算資源。如果主分片數(shù)量太多,會(huì)導(dǎo)致索引過度分散,造成數(shù)據(jù)遷移和調(diào)整的負(fù)擔(dān)。

一般來說,我們可以通過以下兩種方式來調(diào)整主分片數(shù)量:

  • 創(chuàng)建新索引時(shí)指定主分片數(shù)量;
  • 對(duì)已有索引進(jìn)行重新索引(reindex)操作,指定新的主分片數(shù)量。

在實(shí)際操作中,我們需要根據(jù)數(shù)據(jù)量、查詢頻率、集群規(guī)模等因素來調(diào)整主分片數(shù)量。例如,對(duì)于每個(gè)節(jié)點(diǎn)擁有8個(gè)CPU核心的集群來說,通常推薦將主分片數(shù)量設(shè)置為2的冪次方(2、4、8、16等)。

1.2 調(diào)整副本數(shù)量

副本數(shù)量的設(shè)置會(huì)影響索引的可用性和讀寫性能。如果副本數(shù)量太少,當(dāng)某個(gè)節(jié)點(diǎn)故障時(shí),將無法保證數(shù)據(jù)的可用性。如果副本數(shù)量太多,會(huì)占用過多的磁盤空間和網(wǎng)絡(luò)帶寬,降低寫入性能。

一般來說,我們可以通過以下兩種方式來調(diào)整副本數(shù)量:

  • 在創(chuàng)建索引時(shí)指定副本數(shù)量;
  • 在已有索引上執(zhí)行API操作來更改副本數(shù)量。

與主分片數(shù)量不同,副本數(shù)量可以根據(jù)實(shí)際需要進(jìn)行動(dòng)態(tài)調(diào)整。例如,對(duì)于寫入頻率較高的索引,我們可以降低副本數(shù)量來提高寫入性能。而對(duì)于查詢頻率較高的索引,我們可以增加副本數(shù)量來提高查詢性能。

2. Mapping

在Elasticsearch中,Mapping是將文檔字段映射到索引中的數(shù)據(jù)結(jié)構(gòu)的過程。Mapping定義了索引中每個(gè)字段的類型、分詞器、存儲(chǔ)方式等信息,這些信息對(duì)于搜索和聚合操作來說非常重要。通過對(duì)Mapping進(jìn)行優(yōu)化,我們可以提高查詢和聚合的性能,并減少索引的存儲(chǔ)空間。

2.1 明確字段類型

在定義Mapping時(shí),我們需要盡可能明確每個(gè)字段的類型。Elasticsearch支持的字段類型包括:

  • 字符串(text、keyword);
  • 數(shù)值(long、integer、short、byte、double、float、half_float、scaled_float);
  • 日期(date);
  • 布爾值(boolean);
  • 二進(jìn)制(binary);
  • 地理位置(geo_point、geo_shape)。

在選擇字段類型時(shí),我們需要根據(jù)字段的實(shí)際含義和使用場景進(jìn)行選擇。例如,對(duì)于需要進(jìn)行全文檢索的文本字段,通常使用text類型。而對(duì)于需要進(jìn)行精確匹配的文本字段,通常使用keyword類型。另外,對(duì)于數(shù)值類型的字段,我們還需要注意字段是否需要進(jìn)行聚合操作,因?yàn)椴煌淖侄晤愋驮诰酆蠒r(shí)的性能表現(xiàn)也不同。

2.2 避免使用默認(rèn)Mapping

Elasticsearch提供了一個(gè)默認(rèn)Mapping,它會(huì)自動(dòng)將文檔中所有未定義的字段映射成text類型。然而,使用默認(rèn)Mapping會(huì)導(dǎo)致索引的存儲(chǔ)空間浪費(fèi)和查詢性能下降。因此,在定義Mapping時(shí),我們應(yīng)該盡可能明確每個(gè)字段的類型,避免使用默認(rèn)Mapping。

2.3 使用Field Data

Field Data是Elasticsearch中一種用于聚合操作的數(shù)據(jù)結(jié)構(gòu),它可以將文檔字段的值加載到內(nèi)存中,從而提高聚合操作的性能。在使用Field Data時(shí),我們需要注意以下幾點(diǎn):

  • Field Data只適用于不可變的字段;
  • Field Data占用內(nèi)存,因此在選擇使用Field Data時(shí)需要注意內(nèi)存使用情況;
  • Field Data對(duì)于高基數(shù)(cardinality)字段的性能表現(xiàn)較差。

2.4 使用嵌套字段

Elasticsearch支持嵌套字段,即在一個(gè)文檔中嵌套另一個(gè)文檔。使用嵌套字段可以簡化查詢和聚合操作,并提高查詢性能。在使用嵌套字段時(shí),我們需要注意以下幾點(diǎn):

  • 嵌套字段的定義必須在Mapping中進(jìn)行;
  • 嵌套字段不能直接進(jìn)行全文檢索;
  • 在使用嵌套字段進(jìn)行聚合操作時(shí),需要使用嵌套聚合(nested aggregation)。

3. Analyzer

Analyzer是Elasticsearch中用于處理文本的組件,它可以將文本分割成一系列的詞項(xiàng)(term),并將這些詞項(xiàng)存儲(chǔ)在索引中。Analyzer包括三個(gè)組件:字符過濾器(character filter)、分詞器(tokenizer)和詞項(xiàng)過濾器(token filter)。

3.1 字符過濾器

字符過濾器用于對(duì)文本進(jìn)行預(yù)處理,例如刪除HTML標(biāo)簽、轉(zhuǎn)換特殊字符等。Elasticsearch提供了一些內(nèi)置的字符過濾器,例如HTML Strip Character Filter、Mapping Character Filter等。

3.2 分詞器

分詞器用于將文本分割成一系列的詞項(xiàng)。Elasticsearch提供了多種內(nèi)置的分詞器,例如Standard Tokenizer、Whitespace Tokenizer、Keyword Tokenizer等。另外,我們也可以通過自定義插件來實(shí)現(xiàn)自定義的分詞器。

3.3 詞項(xiàng)過濾器

詞項(xiàng)過濾器用于對(duì)分詞后的詞項(xiàng)進(jìn)行過濾、修改或替換。Elasticsearch提供了多種內(nèi)置的詞項(xiàng)過濾器,例如Lowercase Token Filter、Stop Token Filter、Synonym Token Filter等。另外,我們也可以通過自定義插件來實(shí)現(xiàn)自定義的詞項(xiàng)過濾器。

3.4 Analyzer的優(yōu)化

在使用Analyzer時(shí),我們需要注意以下幾點(diǎn):

  • 盡可能減少字符過濾器和詞項(xiàng)過濾器的數(shù)量,因?yàn)樗鼈儠?huì)增加處理時(shí)間;
  • 根據(jù)實(shí)際需求選擇合適的分詞器和詞項(xiàng)過濾器;
  • 在進(jìn)行全文檢索時(shí),應(yīng)該使用與索引時(shí)相同的Analyzer。

結(jié)語

通過對(duì)Elasticsearch索引進(jìn)行優(yōu)化,我們可以提高搜索和聚合的性能,并減少存儲(chǔ)空間的占用。雖然優(yōu)化索引需要一定的技術(shù)和經(jīng)驗(yàn),但只要掌握了相關(guān)知識(shí),就可以為業(yè)務(wù)提供更高效的搜索和分析服務(wù)。?文章來源地址http://www.zghlxwxcb.cn/news/detail-830633.html

到了這里,關(guān)于Elasticsearch索引優(yōu)化指南:分片、副本、mapping和analyzer的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

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

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

相關(guān)文章

  • Elasticsearch深入學(xué)習(xí) (二) 索引創(chuàng)建及分片優(yōu)化經(jīng)驗(yàn)

    Elasticsearch深入學(xué)習(xí) (二) 索引創(chuàng)建及分片優(yōu)化經(jīng)驗(yàn)

    一、索引與分片的關(guān)系 ES集群中索引可能由多個(gè)分片構(gòu)成,并且每個(gè)分片可以擁有多個(gè)副本。通過將一個(gè)單獨(dú)的索引分為多個(gè)分片,我們可以處理不能在一個(gè)單一的服務(wù)器上面運(yùn)行的大型索引。由于每個(gè)分片可以有多個(gè)副本,通過將副本分配到多個(gè)服務(wù)器,可以提高查詢的負(fù)

    2024年02月15日
    瀏覽(25)
  • 【ElasticSearch系列-07】ES的開發(fā)場景和索引分片的設(shè)置及優(yōu)化

    【ElasticSearch系列-07】ES的開發(fā)場景和索引分片的設(shè)置及優(yōu)化

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

    2024年02月03日
    瀏覽(93)
  • Elasticsearch的分片和副本

    Elasticsearch是一個(gè)分布式搜索和分析引擎,其設(shè)計(jì)目標(biāo)是在分布式環(huán)境下處理海量數(shù)據(jù)。為了實(shí)現(xiàn)這個(gè)目標(biāo),Elasticsearch將數(shù)據(jù)分割成多個(gè)分片,并在多臺(tái)服務(wù)器上進(jìn)行存儲(chǔ)和處理。每個(gè)分片都是一個(gè)獨(dú)立的Lucene索引,可以被分配到不同的節(jié)點(diǎn)上。 分片可以幫助Elasticsearch水平擴(kuò)

    2024年02月17日
    瀏覽(26)
  • ElasticSearch--分片和副本--原理

    ElasticSearch--分片和副本--原理

    原文網(wǎng)址:ElasticSearch--分片和副本--原理_IT利刃出鞘的博客-CSDN博客 說明 本文介紹ES的分片和副本的原理。 粉絲福利 :有很多粉絲私信問我有沒有Java的面試及PDF書籍等資料,我整理一下,包含: 真實(shí) 面試題匯總、簡歷模板、PDF書籍、PPT模板等。這些是 我自己也在用 的資料

    2023年04月09日
    瀏覽(19)
  • elasticsearch副本和分片

    1.文檔沖突 當(dāng)我們使用index API更新文檔,可以一次性讀取 修改索引副本 看起來您正在嘗試修改一個(gè)已經(jīng)打開的索引的非動(dòng)態(tài)設(shè)置index.number_of_shards。在默認(rèn)情況下,Elasticsearch不允許在索引處于打開狀態(tài)時(shí)修改非動(dòng)態(tài)(不可更改)的設(shè)置。 curl -XPOST http://192.168.1.136:9200/es-syslo

    2024年01月17日
    瀏覽(24)
  • ES創(chuàng)建索引模板設(shè)置分片和副本數(shù)及時(shí)間格式問題

    ES創(chuàng)建索引模板設(shè)置分片和副本數(shù)及時(shí)間格式問題

    創(chuàng)建索引模板設(shè)置分片和副本及時(shí)間格式問題 一、創(chuàng)建索引模板 二、插入測試數(shù)據(jù) 三、查看索引情況(cerebro可視化插件) 查看分片和副本情況 查看字段 四、通kibana查看數(shù)據(jù) 五、最后補(bǔ)充下kibana設(shè)置時(shí)間格式顯示問題

    2024年02月16日
    瀏覽(23)
  • elasticsearch的副本和分片的區(qū)別

    es/elasticsearch的副本和分片的區(qū)別 一:概念 (1)集群(Cluster): ES可以作為一個(gè)獨(dú)立的單個(gè)搜索服務(wù)器。不過,為了處理大型數(shù)據(jù)集,實(shí)現(xiàn)容錯(cuò)和高可用性,ES可以運(yùn)行在許多互相合作的服務(wù)器上。這些服務(wù)器的集合稱為集群。 (2)節(jié)點(diǎn)(Node): 形成集群的每個(gè)服務(wù)器稱

    2024年02月11日
    瀏覽(24)
  • Elasticsearch 的節(jié)點(diǎn)、集群、分片和副本 全面解析

    節(jié)點(diǎn)是 Elasticsearch 實(shí)例的運(yùn)行實(shí)例,即一個(gè)獨(dú)立的 Elasticsearch 服務(wù)進(jìn)程。每個(gè)節(jié)點(diǎn)都是一個(gè)獨(dú)立的工作單元,負(fù)責(zé)存儲(chǔ)數(shù)據(jù)、參與數(shù)據(jù)處理(如索引、搜索、聚合等)以及參與集群的協(xié)調(diào)工作。節(jié)點(diǎn)可以在物理或虛擬機(jī)上單獨(dú)部署,也可以在同一臺(tái)機(jī)器上運(yùn)行多個(gè)節(jié)點(diǎn)(但需

    2024年04月27日
    瀏覽(33)
  • ElasticSearch修改分片數(shù)和副本數(shù)及增加字段

    一、修改副本數(shù) PUT test/_settings { ? ? \\\"index\\\": { ? ? ? ? \\\"number_of_replicas\\\" : 1 ? ? } } 二、修改分片數(shù) ElasticSearch中的數(shù)據(jù)會(huì)被分別存儲(chǔ)在不同的分片上,索引庫的分片數(shù)量是在索引庫創(chuàng)建的時(shí)候通過settings去設(shè)置的,如果不設(shè)置,分片數(shù)默認(rèn)是5,分片數(shù)一旦確定就不能改變。如果

    2024年02月05日
    瀏覽(19)
  • OLAP系列:三、clickhouse Docker集群部署指南(3分片1副本模式)

    一是為了學(xué)習(xí)容器,另外也是幫助一些同學(xué)解決機(jī)器資源緊缺,能夠在一臺(tái)是宿主機(jī)部署一套clickhouse集群服務(wù)。 本章內(nèi)容適合開發(fā)測試環(huán)境使用,生產(chǎn)環(huán)境還需要更多細(xì)節(jié)的處理工作,只能作為參考。 二、部署準(zhǔn)備 1、機(jī)器準(zhǔn)備 172.25.16.108 2、創(chuàng)建容器網(wǎng)絡(luò) 3、鏡像準(zhǔn)備 1、下

    2024年02月12日
    瀏覽(26)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包