1. 程式人生 > >全文檢索及ElasticSearch框架學習

全文檢索及ElasticSearch框架學習

性能 tar 監控 流行 ron ref 目的 快速 服務

1. 全文檢索的通用步驟:

1、建庫步驟:

  a 分詞

  b 倒排索引 : 關鍵詞和記錄Id的對應關系,1對多。

2、查詢步驟:

  a 分詞

  b 查索引

  c 取交集或並集

技術分享圖片

技術分享圖片

2. 產品使用全文檢索的一種場景

技術分享圖片

技術分享圖片技術分享圖片

如上圖,

由數據庫或者應用軟件生成數據,通過logstash導入elasticSearch系統。

Kibana提供了可視化界面或者命令模式可以查詢分析系統數據。

當然,elasticSearch也提供了rest接口,可以在各種應用程序中自己調用。

當然了,elasticSearch最大的優點是他是天然分布式的。

下面簡單介紹這幾個組件。

3. ElasticSearch介紹

這個之前看過了

ElasticSearch是一個基於Lucene的搜索服務器。它提供了一個分布式多用戶能力的全文搜索引擎,基於RESTful web接口。Elasticsearch是用Java開發的,並作為Apache許可條款下的開放源碼發布,是當前流行的企業級搜索引擎。設計用於雲計算中,能夠達到實時搜索,穩定,可靠,快速,安裝使用方便。

詳細看:https://es.xiaoleilu.com/

下載 https://www.elastic.co/downloads/elasticsearch

安裝好

技術分享圖片

4. Kibana介紹

Kibana 是一個開源的分析和可視化平臺,旨在與 Elasticsearch 合作。Kibana 提供搜索、查看和與存儲在 Elasticsearch 索引中的數據進行交互的功能。開發者或運維人員可以輕松地執行高級數據分析,並在各種圖表、表格和地圖中可視化數據。

詳細參考: https://www.cnblogs.com/moonlightL/p/7764919.html

官網 https://www.elastic.co/downloads/kibana

5. Logstash介紹

Logstash 是一個開源的數據收集引擎,它具有備實時數據傳輸能力。它可以統一過濾來自不同源的數據,並按照開發者的制定的規範輸出到目的地。

顧名思義,Logstash 收集數據對象就是日誌文件。由於日誌文件來源多(如:系統日誌、服務器 日誌等),且內容雜亂,不便於人類進行觀察。因此,我們可以使用 Logstash 對日誌文件進行收集和統一過濾,變成可讀性高的內容,方便開發者或運維人員觀察,從而有效的分析系統/項目運行的性能,做好監控和預警的準備工作等。

而且logstash還能主動從sql中去查數據,配置如下:

技術分享圖片

全文檢索及ElasticSearch框架學習