【Python】二維陣列降序排序例子
阿新 • • 發佈:2022-03-07
1 es介紹
# Elasticsearch 是一個基於Lucene的 分散式 搜尋 和 分析引擎 -->存資料的地方,專注於大資料量的搜尋
# 開源的高擴充套件的分散式全文檢索引擎
# 企業裡用搜索,使用es居多
# 在Apache許可條款下開放原始碼釋出
-apache web伺服器軟體
-Apache公司,開源組織,全球頂級的開源組織---》開源了一些程式碼---》第三方機構要把自己的程式碼開源---》捐給Apache基金會---》安排人給維護開源專案
-頂級開源專案(主推)
-kafka:訊息佇列
-百度echars,捐給了它
# 使用Lucene作為其核心來實現所有索引和搜尋的功能,但是它的目的是通過簡單的RESTful API來隱藏Lucene的複雜性,使得全文檢索變得簡單
# slor和es 類似於 mysql和oracle的關係
1.1 es的5個概念
#### 2.4.1 Cluster:叢集-->多臺es的伺服器
ES可以作為一個獨立的單個搜尋伺服器。不過,為了處理大型資料集,實現容錯和高可用性,ES可以執行在許多互相合作的伺服器上。這些伺服器的集合稱為叢集。
#### 2.4.2 Node:節點--》每臺es伺服器是一個節點
形成叢集的每個伺服器稱為節點。
#### 2.4.3 Shard:分片---》資料分片
當有大量的文件時,由於記憶體的限制、磁碟處理能力不足、無法足夠快的響應客戶端的請求等,一個節點可能不夠。這種情況下,資料可以分為較小的分片。每個分片放到不同的伺服器上。
當你查詢的索引分佈在多個分片上時,ES會把查詢傳送給每個相關的分片,並將結果組合在一起,而應用程式並不知道分片的存在。即:這個過程對使用者來說是透明的。
#### 2.4.4 Replia:副本
為提高查詢吞吐量或實現高可用性,可以使用分片副本。
副本是一個分片的精確複製,每個分片可以有零個或多個副本。ES中可以有許多相同的分片,其中之一被選擇更改索引操作,這種特殊的分片稱為主分片。
當主分片丟失時,如:該分片所在的資料不可用時,叢集將副本提升為新的主分片。
#### 2.4.5 全文檢索---》在一篇文章中搜索要找的內容
全文檢索就是對一篇文章進行索引,可以根據關鍵字搜尋,類似於mysql裡的like語句。
全文索引就是把內容根據詞的意義進行分詞,然後分別建立索引,例如”今日是週日我們出去玩” 可能會被分詞成:“今天“,”週日“,“我們“,”出去玩“ 等token,這樣當你搜索“週日” 或者 “出去玩” 都會把這句搜出來。
1.2 跟關係型資料庫的比較
mysql es
庫 索引
表 型別
一行行資料 文件
一個個欄位 對映
索引 一切皆索引
sql語句 格式化查詢語言 DSL
select get post,put。。。
2 es安裝
3 es客戶端安裝
4 倒排索引
5 索引操作