全文檢索及ElasticSearch框架學習
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框架學習