應用程式搜尋
**搜尋
企業搜尋
日誌處理和分析
基礎設施指標和容器監測
應用程式效能監測
地理空間資料分析和視覺化
安全分析
業務分析
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個客戶端節點 負責處理搜尋請求...