自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

ElasticSearch為什么快?你知道為什么嗎?

云計算 云原生
在倒排索引構建過程中,首先是將文檔原始內容分割為詞項(Term)。Elasticsearch 默認采用標準分析器(Standard Analyzer)進行分詞處理。

什么是ElasticSearch,為什么要使用ES

Elasticsearch,開源的分布式搜尋及分析引擎,主要適用于以下場景:

  1. 搜尋引擎:快速檢索文檔、商品、新聞等之應用。
  2. 日志分析:透過日志數(shù)據(jù)分析,幫助企業(yè)認知業(yè)務績效狀況。
  3. 數(shù)據(jù)分析:輔助數(shù)據(jù)科學家與分析師進行數(shù)據(jù)剖析,以取得珍貴信息。
  4. 商業(yè)智能:輔助企業(yè)制定數(shù)據(jù)導向決策,達成商業(yè)上之成功。
  5. 實時監(jiān)控:協(xié)助企業(yè)實時監(jiān)測系統(tǒng)績效、監(jiān)控數(shù)據(jù)變動,以確保系統(tǒng)正常運作。
  6. 安全性:資助企業(yè)確保數(shù)據(jù)安全,保障數(shù)據(jù)不受非法竊取。
  7. 應用程序開發(fā):資助開發(fā)者開發(fā)基于搜尋之應用程序,提升用戶體驗。

Elasticsearch具備以下優(yōu)勢:

  1. 高性能:擅長搜索與分析,包含多種查詢語言與數(shù)據(jù)構架。
  2. 可擴展性:分布式構架,透過增加節(jié)點數(shù)增強搜索與分析能力。
  3. 靈活性:支持多數(shù)據(jù)類型、多語言,動態(tài)映射、快速調整模型以應對不同需求。
  4. 近實時分析:支持近實時分析(NRT near real time),提供實時數(shù)據(jù)查詢,有利于快速數(shù)據(jù)檢索。
  5. 可靠性:具備可靠性和高可用性,支持數(shù)據(jù)備份與恢復。

ElasticSearch為什么快?

Elasticsearch乃一款高性能、分布式搜索引擎,其速之快者,緣由如下:

  1. 分布式儲存:采用分布式儲存技術,將數(shù)據(jù)存儲于多節(jié)點,分散負載,優(yōu)化整體執(zhí)行效能。
  2. 索引分片:將每索引分裂為多片段,實現(xiàn)并行查詢,提升搜索速度。
  3. 全文索引:運用高效全文索引技術,將文檔轉化為可搜索的結構化數(shù)據(jù),快速高效地完成搜索操作。
  4. 倒排索引:支持倒排索引數(shù)據(jù)結構,映射文檔中每個詞匯至文檔出現(xiàn)位置,當搜索請求發(fā)生時,能快速檢索包含所有搜索詞的文檔,迅速返回結果。
  5. 索引優(yōu)化:通過索引優(yōu)化技術提高查詢速度。支持索引覆蓋、索引下推等優(yōu)化技術,加速查詢操作。
  6. 預存儲結果:插入數(shù)據(jù)時,預處理數(shù)據(jù),將結果預存儲于索引中,查詢時無需重新計算,提升查詢速度。
  7. 高效查詢引擎:采用高效查詢引擎,支持各種查詢類型,為復雜查詢提供優(yōu)化策略,提高查詢速度。
  8. 異步請求處理:采用異步請求處理機制,在請求抵達時立即回饋,避免長時間等待,提升用戶體驗。
  9. 內存存儲:應用內存存儲技術,在數(shù)據(jù)讀寫中減少磁盤訪問次數(shù),提高數(shù)據(jù)存儲與查詢效率。

綜上所述,Elasticsearch之所以這么快,由于其運用多項高效技術,提升數(shù)據(jù)存儲、查詢、處理效率,構筑快捷搜索體驗。

倒排索引是什么?

在Elasticsearch中,倒排索引是一種常見的索引結構,用于快速搜索文檔中的特定詞匯。

與傳統(tǒng)索引結構相反,倒排索引的構建方式不同。傳統(tǒng)索引結構是以文檔為基礎,每個文檔包含多個詞匯,然后根據(jù)這些詞匯建立索引。而倒排索引則以詞匯為基礎,每個詞匯對應多個文檔,然后根據(jù)這些文檔建立索引。這種結構使得在搜索過程中能夠快速定位包含目標詞匯的文檔,從而加速搜索效率。

對于一份含有多個詞匯的文檔,倒排索引將每個詞匯視作一個關鍵字(Term),記錄該詞匯所屬文檔的編號(Document ID)以及在文檔中的位置(Term Position)。這種方式使得當用戶輸入關鍵字時,能夠迅速查找到包含該關鍵字的文檔編號,再通過編號找到相應文檔內容。

倒排索引的優(yōu)勢在于能迅速鎖定含指定關鍵字的文檔,同時支持復雜搜索操作,如詞組搜索、通配符搜索等。此外,由于倒排索引以詞匯為基礎構建,因此在數(shù)據(jù)分析和統(tǒng)計方面也具備重要意義。在Elasticsearch中,倒排索引是一種至關重要的索引結構,廣泛應用于搜索引擎、日志分析、推薦系統(tǒng)等領域。

倒排索引建立過程

ES中的倒排索引建立過程主要有2個步驟,分別是分詞、建立倒排索引

比如我們現(xiàn)在有三份文檔內容,分別是

id

content

1

深入理解Java核心技術

2

深入理解Java虛擬機—周志明

3

Java編程思想—布魯斯·??藸?br>

分詞

在倒排索引構建過程中,首先是將文檔原始內容分割為詞項(Term)。Elasticsearch 默認采用標準分析器(Standard Analyzer)進行分詞處理。

經過分詞處理后,您提供的三份文檔內容將包含諸如"深入"、"理解"、"Java"、"核心"、"技術"、"編程"、"思想"、"周志明"、"布魯斯·??藸?等詞語。

生成倒排索引

將分開的詞,當做索引,與對應的文檔ID進行關聯(lián),形成倒排表。

詞條

文檔ID

深入

1,2

理解

1,2

Java

1,2,3

虛擬機

2

核心

1

技術

1

編程

3

思想

3

在倒排表生成完畢后,常規(guī)操作是對倒排表進行壓縮,以減少其空間占用。流行的壓縮算法包括Variable Byte Encoding和Simple9等技術。最后,壓縮后的倒排表將被存儲在磁盤上,以確保日后的搜索過程能夠迅速訪問倒排表。

責任編輯:武曉燕 來源: 碼上遇見你
相關推薦

2018-10-28 15:40:23

Python編程語言

2023-06-26 08:20:02

openapi格式注解

2023-03-09 08:23:07

序列化?接口方法

2023-09-08 08:35:42

層疊樣式表CSS

2023-11-02 10:22:29

gRPC后端通信

2014-07-15 11:05:30

黑莓

2020-10-15 09:19:36

Elasticsear查詢速度

2024-12-02 12:34:06

2020-11-17 08:30:06

LinuxSwapping 設計

2024-10-09 08:19:35

2020-04-16 11:19:55

深度學習神經網(wǎng)絡網(wǎng)絡層

2019-12-09 10:29:04

Go語言開發(fā)互聯(lián)網(wǎng)

2020-02-27 15:44:41

Nginx服務器反向代理

2024-02-26 21:15:20

Kafka緩存參數(shù)

2023-06-08 18:25:40

Doris場景查詢

2020-02-27 21:03:30

調度器架構效率

2024-10-12 14:58:07

2021-03-18 14:34:34

達達集團京東云電商

2021-03-22 08:29:59

Elasticsear搜索系統(tǒng)

2022-05-12 08:22:27

Hive統(tǒng)計函數(shù)
點贊
收藏

51CTO技術棧公眾號