Elasticsearch是弄啥子的

Elasticsearch是弄啥子的

嗨!你們好,程序員讀書欄目又回來了,這要感謝51CTO提供的錄課專用麥克風。此次咱們開始讀Elasticsearch的官方文檔。也就是ES, 那什麼是ElasticSearch呢?程序員

You know, for search (and analysis)web

就像它的名字同樣,它是用於搜索分析的。sql

看到搜索有沒有想到咱們開發經常使用的關係性數據庫?Mysql啊,PostgreSql啊什麼的?那Elasticsearch又跟Mysql有什麼區別呢?先前咱們作搜索的確是使用的關係性數據庫,可是對於文本的模糊查詢使用關係性數據庫的like語句性能比較低,能夠想象一篇博客有2、3千字,若是要使用like語句判斷這篇博客中是否出現了某個關鍵字,最壞的狀況下計算機要進行2/3千次匹配計算,這個性能是很低的,Elasticsearch最初就是爲了提升文本檢索的性能開發的。它是怎麼提升性能的呢?文檔裏也有介紹。咱們接着往下面讀。數據庫

Elasticsearch is the distributed search and analytics engine at the heart of the Elastic Stack.安全

這裏提到Elasticsearch是Elastic技術棧中支持分佈式搜索和分析的核心組件。既然是技術棧就不僅包括Elasticsearch一種組件,那還包括那些組件呢?app

Logstash and Beats facilitate collecting, aggregating, and enriching your data and storing it in Elasticsearch. Kibana enables you to interactively explore, visualize, and share insights into your data and manage and monitor the stack. Elasticsearch is where the indexing, search, and analysis magic happens.less

這裏對Elastic技術棧進行了簡單的介紹,除了Elasticseach還包括用於數據蒐集、聚合、加工處理的LogstachBeats.能夠對數據進行交互式探索分析可視化的Kibana,Kibana還具有對技術棧中組件的管理和監控功能。Elasticsearch主要負責對數據進行索引處理,提供搜索分析服務。簡單來講Elastic技術棧就是從數據的蒐集到存儲再到可視化分析提供了一條龍的服務,該去大廳的去大廳該上二樓的上二樓想去三樓的去三樓,一站式解決,服務一條龍。機器學習

Elasticsearch provides near real-time search and analytics for all types of data. Whether you have structured or unstructured text, numerical data, or geospatial data, Elasticsearch can efficiently store and index it in a way that supports fast searches.分佈式

Elasticsearch支持對全部數據類型的近實時搜索,咱們剛纔提到剛開始使用ES是爲了提升全文檢索的性能,隨着ES的發展,它不但支持對文本類型數據還支持對數字甚至地理位置等類型數據進行快速的索引和搜索。功能是愈來愈強大,因此咱們如今更傾向於說Elasticsearch是一個NoSql數據庫。  ide

這裏還提到了倆個詞structured or unstructured也就是結構化非結構化,有的同窗可能還聽過半結構化,他們之間有什麼區別呢?或者說怎麼區分數據是結構化的仍是半結構化的仍是非結構化的?  

我是這麼區分的:

把數據分爲數據的結構描述信息和具體的數據倆部分,什麼意思呢?咱們使用數據庫中的一張學生表來舉例,表自己是須要定義有多少字段,每一個字段的類型、長度等信息的,這些定義的信息就是數據的結構描述信息,咱們往表裏插入的具體的學生名稱啊學號啊這些就是具體的數據。那什麼是結構化數據呢?結構化數據就是有固定結構描述信息的數據,好比咱們數據庫裏的表,往表裏插入的數據必須知足表的結構,不管你是多插入了一個不存在的字段仍是數據長度超過了字段定義的長度都會報錯,插不進去。  

理解告終構化數據就不難理解非結構化數據了,非結構化數據就是沒有結構描述信息的數據。好比咱們在別人博客下面寫的評論,能夠說想怎麼寫就怎麼寫,很隨意。

那什麼又是半結構化數據呢?半結構化的數據也有結構描述信息,可是又不像結構化數據那樣結構比較固定,像Json和XML類型的數據,雖然有必定的結構,但在使用的過程當中多添加一個原來不存在的字段也不會報錯。

在作大數據時常常會看到這三個詞,這裏順便說下,我說的也未必對。還要提醒下你們,不要跟我學英語發音,由於個人英語發音不許,上學那會也是學的啞吧英語。 高考前猛看《高考必備》,不知道如今還有沒,一本像詞典同樣的書,英語總分150,我當時考了138分的樣子。考完就忘的差很少了。 不少同窗應該都這樣,高考前都是上知天文下知地理,高考一結束就都還給老師了。 

咱們接着往下面看:

You can go far beyond simple data retrieval and aggregate information to discover trends and patterns in your data. And as your data and query volume grows, the distributed nature of Elasticsearch enables your deployment to grow seamlessly right along with it.

咱們不單可使用ES作一些簡單的數據檢索和聚合分析去發現數據中的趨勢和模式關係。咱們還能夠在數據愈來愈多的時候經過添加機器無縫的支持大數據量的處理。由於ES是原生支持分佈式的。 

While not every problem is a search problem, Elasticsearch offers speed and flexibility to handle data in a wide variety of use cases:

固然並非全部的問題均可以經過搜索解決的,ES也提供了良好的性能和靈活性去適應不一樣的業務場景。好比:

Add a search box to an app or website

在app或者網站上添加個搜索框,能夠考慮使用ES提供搜索服務

Store and analyze logs, metrics, and security event data

還可使用ES存儲、分析系統運行日誌、性能指標和安全相關的事件數據。

Use machine learning to automatically model the behavior of your data in real time

使用機器學習自動對數據進行建模。機器學習的功能應該是ES6之後才新增的功能,這幾年是雲、大數據、機器學習比較火。 技術類的產品常常跟這幾個詞掛鉤。 

Automate business workflows using Elasticsearch as a storage engine

也能夠將ES作爲自動商業工做流中的存儲引擎。

Manage, integrate, and analyze spatial information using Elasticsearch as a geographic information system (GIS)

也能夠將ES作爲一個地理位置信息系統使用,對地理位置信息進行管理和分析。  

Store and process genetic data using Elasticsearch as a bioinformatics research tool

也能夠將ES用於生物信息研究中,用於存儲和處理基因數據。

官方給的這幾個用例場景跨度仍是蠻大的,從普通的網站到GIS再到生物信息。能夠說ES的應用範圍仍是挺廣的。

We’re continually amazed by the novel ways people use search.

雖然咱們已經知道在不少不一樣領域中都有使用ES,可是咱們仍是常常被用戶使用ES的方式震驚到。這裏仍是突出ES的靈活性,適用場景普遍。 有點王婆賣瓜的意思,是吧?

But whether your use case is similar to one of these, or you’re using Elasticsearch to tackle a new problem, the way you work with your data, documents, and indices in Elasticsearch is the same.

可是不管你的應用場景跟上面提到相似仍是要使用ES解決新的問題,ES內部對數據、文檔和索引的方式都是同樣的,也就是萬變不離其宗。因此咱們有必要繼續往下面看,繼續學習下ES內部對數據的處理方式,什麼是文檔啊?什麼是索引啊?

咱們這期就先讀到這裏,接下來你能夠點個贊或者加個關注,鼓勵咱們一直讀下去。

天朗工做室出品

相關文章
相關標籤/搜索