接續
系統項目初步的功能已經搭建完畢,這其中經過了很多個日日夜夜,就這一個系統初步的工作做完,感覺自己已經老了很多歲似的,當初定下的目標,這是不過才實現了十之三四,接下來還有很長的路要走,希望之前我總結的一點點知識能給csdn社區的同志們帶來一點幫助,遇到問題了,可以到我這裏看看有沒有相關的解決方法,我在做一個功能點的後面,會把遇到的問題一定寫下來,供查閱。
在使用ElasticSearch之前,我們需要對它又一個初步的瞭解
ElasticSearch
- 什麼是ElasticSearch,複製官網的一段話
Elasticsearch 是一個分佈式的開源搜索和分析引擎,適用於所有類型的數據,包括文本、數字、地理空間、結構化和非結構化數據。Elasticsearch 在 Apache Lucene 的基礎上開發而成,由 Elasticsearch N.V.(即現在的 Elastic)於 2010 年首次發佈。Elasticsearch 以其簡單的 REST 風格 API、分佈式特性、速度和可擴展性而聞名,是 Elastic Stack 的核心組件;Elastic Stack 是適用於數據採集、充實、存儲、分析和可視化的一組開源工具。人們通常將 Elastic Stack 稱爲 ELK Stack(代指 Elasticsearch、Logstash 和 Kibana),目前 Elastic Stack 包括一系列豐富的輕量型數據採集代理,這些代理統稱爲 Beats,可用來向 Elasticsearch 發送數據。
-
Elasticsearch 的用途是什麼?
Elasticsearch 在速度和可擴展性方面都表現出色,而且還能夠索引多種類型的內容,這意味着其可用於多種用例:
- 應用程序搜索
- 網站搜索
- 企業搜索
- 日誌處理和分析
- 基礎設施指標和容器監測
- 應用程序性能監測
- 地理空間數據分析和可視化
- 安全分析
- 業務分析
-
Elasticsearch 的工作原理是什麼?
原始數據會從多個來源(包括日誌、系統指標和網絡應用程序)輸入到 Elasticsearch 中。數據採集指在 Elasticsearch 中進行索引之前解析、標準化並充實這些原始數據的過程。這些數據在 Elasticsearch 中索引完成之後,用戶便可針對他們的數據運行復雜的查詢,並使用聚合來檢索自身數據的複雜彙總。在 Kibana 中,用戶可以基於自己的數據創建強大的可視化,分享儀表板,並對 Elastic Stack 進行管理。
-
Elasticsearch 索引是什麼?
Elasticsearch 索引指相互關聯的文檔集合。Elasticsearch 會以 JSON 文檔的形式存儲數據。每個文檔都會在一組鍵(字段或屬性的名稱)和它們對應的值(字符串、數字、布爾值、日期、數值組、地理位置或其他類型的數據)之間建立聯繫。
Elasticsearch 使用的是一種名爲倒排索引的數據結構,這一結構的設計可以允許十分快速地進行全文本搜索。倒排索引會列出在所有文檔中出現的每個特有詞彙,並且可以找到包含每個詞彙的全部文檔。
在索引過程中,Elasticsearch 會存儲文檔並構建倒排索引,這樣用戶便可以近實時地對文檔數據進行搜索。索引過程是在索引 API 中啓動的,通過此 API 您既可向特定索引中添加 JSON 文檔,也可更改特定索引中的 JSON 文檔。
1、基本概念
-
Index(索引)
動詞:相當於mysql中的insert
名詞:相當於mysql中的database
-
Type(類型)
在index中可以定義一個或多個類型,類似於mysql中的Table,每一種類型的數據放在一起
-
Document(文檔)
保存在某個索引(Index)下,某種類型(Type)的一個數據(Document),文檔是JSON格式的,Doment就像是mysql中某個Table中的內容