了解Elasticsearch基礎,這篇就夠了

2021-10-21 04:39:56 字數 1868 閱讀 9279

應用程式搜尋

**搜尋

企業搜尋

日誌處理和分析

基礎設施指標和容器監測

應用程式效能監測

地理空間資料分析和視覺化

安全分析

業務分析

elasticsearch官方中文文件

elasticsearch官方英文文件

三:基本概念

index(索引)

動詞,相當於mysql中的insert (mysql叫"插入一條資料",而elasticsearch叫"索引一條資料")

名詞,相當於mysql中的database;(要在elasticsearch存資料,必須建立乙個index)

type(型別)

在index(索引) 中,可以定義多個型別 ;類似於mysql中的table,乙個資料可可以有多個索引.

document(文件)

儲存在某個索引(index)下(mysql的某個資料庫下),某個型別(type)下的乙個資料(mysql表中的某條資料)就叫document;且文件均是json格式.

四:elasticsearch-------倒排索引

elasticsearch之所以可以幫我們更快的找到我們所需要的資料,就是因為它的倒排索引機制

倒排索引表:詞記錄

紅海1,2,3,4,5

行動1,2,3

探索2,5

特別4,5

紀錄片4**5

分詞:將整句拆分成單詞

儲存的記錄

紅海**行動?

紅海行動?

分詞:將"紅海行動"分為"紅海"和"行動"2個單詞(當然,也可以拆成"紅",「海」,「行」,"動"4個字),此時,倒排索引表將會插入如下記錄:(這裡姑且將1想象成每條記錄的id吧) 詞

記錄紅海1行動

1接下來我們儲存第2條記錄- 2.探索紅海行動,此時,倒排索引表會繼續分詞,假設分成"探索","紅海"和"行動"3個單詞,此時,倒排索引表變成這樣 詞

記錄紅海

1,2行動

1,2探索

2以此類推,儲存- 3.紅海特別行動,倒排索引表變為 詞

記錄紅海

1,2,3

行動1,2,3探索2

特別3儲存4.紅海紀錄片,倒排索引表變為 詞

記錄紅海

1,2,3,4

行動1,2,3探索2

特別3紀錄片4

儲存**- 5.**紅海特別探索**,倒排索引表變為即變為 詞

記錄紅海

1,2,3,4,5

行動1,2,3

探索2,5

特別4,5

紀錄片4**5

此時假設我們要檢索:

紅海**行動?

紅海行動?

檢索步驟:

將檢索內容查分成單詞

儲存的記錄:

1.紅海行動

2.探索紅海行動

3.紅海特別行動

4.紅海紀錄片

5.**紅海特別探索

舉例:當我們查詢** 1) 紅海**行動?這條記錄時,它先將其拆分成"紅海",「**」,"行動"三個單詞,此時我們在倒排索引表中可以看到,這3個單詞在5條記錄都存在,但是,我們要的只有一條, elasticsearch查出的記錄會有乙個相關性得分:由於3號和5號記錄命中了2個單詞**,所以最符合的是它倆,但那個更符合呢?

3號記錄中,被我媽拆分成3個單詞,有2個就已經命中,命中率2/3; 而5號記錄共4個單詞,命中2個單詞,因為此時2/3 >2/4=1/2,故3號的相關性得分最高,因此3號就是我們要查的最相思的資料(類似於mysql的模糊查詢)!

elasticsearch的基本了解

以下內容參考官方文件 使用的學習版本是7.2,參考文件也是7.2的 一 elk的介紹 elasticsearch是分布式搜尋與分析引擎,對資料進行索引與搜尋 常與logstash 和beats kibana一起使用,這個組合就是elk logstash 和beats 用於收集 聚合和豐富我們的資料,...

elasticsearch配置詳解

elasticsearch的config資料夾裡面有兩個配置檔案 elasticsearch.yml和logging.yml,第乙個是es的基本配置檔案,第二個是日誌配置檔案,es也是使用log4j來記錄日誌的,所以logging.yml裡的設定按普通log4j配置檔案來設定就行了。下面主要講解下e...

誰在使用Elasticsearch

github github使用elasticsearch搜尋20tb的資料,包括13億的檔案和1300億行的 這個不用介紹了吧,碼農們都懂的,github在2013年1月公升級了他們的 搜尋,由solr轉為elasticsearch,目前集群規模為26個索引儲存節點和8個客戶端節點 負責處理搜尋請求...