ElasticSearch1 基本概念

2022-06-12 08:00:16 字數 2103 閱讀 6441

es基本概念:

elasticsearch是面向文件型資料庫,一條資料在這裡就是乙個文件,用json作為文件序列化的格式

nrt:nearly real time近實時查詢,插入資料到查詢時間大概為1秒延時

基於lucene開發的分布式全文檢索框架,es儲存和查詢的資料格式是json

文件:document es中最小的資料單元,乙個document可以是客戶端的一條資料,一條分類資料,一條訂單資料,通常用json資料表示,

每個index 的type中可以儲存多個document,相當於資料庫的行

索引:index 相當於資料庫中的database

型別:type 相當於資料庫中的table

主鍵:id 相當於資料庫中的主鍵

關聯式資料庫 ⇒ 資料庫 ⇒ 表 ⇒ 行 ⇒ 列(columns)

elasticsearch ⇒ 索引 ⇒ 型別 ⇒ 文件 ⇒ 字段(fields)

elasticsearch是乙個近乎實時的搜尋平台。

這意味著從索引文件到可以搜尋的時間只有輕微的延遲(通常是1秒)。

集群是乙個或多個節點(伺服器)的集合,它們共同儲存你的整個資料,並提供跨所有節點的聯合索引和搜尋功能。

乙個集群由乙個唯一的名稱標識,預設這個唯一標識的名稱是"elasticsearch"。

這個名稱很重要,因為如果節點被設定為按其名稱加入集群,那麼節點只能是集群的一部分。

確保不要在不同的環境中用相同的集群名稱,否則可能導致節點加入到錯誤的集群中。

例如,你可以使用"logging-dev", "logging-test", "logging-prod"分別用於開發、測試和正式集群的名字。

節點是乙個單獨的伺服器,它是集群的一部分,儲存資料,並參與集群的索引和搜尋功能。

就像集群一樣,節點由乙個名稱來標識,預設情況下,該名稱是在啟動時分配給節點的隨機通用唯一識別符號(uuid)。

如果不想用預設的節點名,可以定義任何想要的節點名。

這個名稱對於管理來說很重要,因為你希望識別網路中的哪些伺服器對應於你的elasticsearch集群中的哪些節點。

乙個節點可以通過配置集群名稱來加入到乙個特定的集群中。

預設情況下,每個節點都被設定加入到乙個名字叫"elasticsearch"的集群中,這就意味著如果你啟動了很多個節點,並且假設它們彼此可以互相發現,那麼它們將自動形成並加入到乙個名為"elasticsearch"的集群中。

乙個集群可以有任意數量的節點。此外,如果在你的網路上當前沒有執行任何節點,那麼此時啟動乙個節點將預設形成乙個單節點的名字叫"elasticsearch"的集群。

索引是具有某種相似特徵的文件的集合。例如,你可以有乙個顧客資料索引,產品目錄索引和訂單資料索引。

索引有乙個名稱(必須是小寫的)標識,該名稱用於在對其中的文件執行索引、搜尋、更新和刪除操作時引用索引。

文件是可以被索引的基本資訊單元。文件用json表示。

乙個索引可能儲存大量資料,這些資料可以超過單個節點的硬體限制。

例如,乙個包含10億條文件占用1tb磁碟空間的索引可能不適合在單個節點上,或者可能太慢而不能單獨處理來自單個節點的搜尋請求。

為了解決這個問題,elasticsearch提供了將你的索引細分為多個碎片(或者叫分片)的能力。

在建立索引時,可以簡單地定義所需的分片數量。每個分片本身就是乙個功能完全獨立的「索引」,可以駐留在集群中的任何節點上。

分片之所以重要,主要有兩個原因:

它允許你水平地分割/擴充套件內容卷

它允許你跨分片(可能在多個節點上)分布和並行操作,從而提高效能和吞吐量

在乙個網路/雲環境中隨時都有可能出現故障,強烈推薦你有乙個容災機制。elasticsearch允許你將乙個或者多個索引分片複製到其它地方,這被稱之為副本。

複製之所以重要,有兩個主要原因:

在預設情況下,elasticsearch中的每個索引都分配了5個主分片和1個副本,這意味著如果集群中至少有兩個節點,那麼索引將有5個主分片和另外5個副本分片(ps:這5個副本分片組成1個完整副本),每個索引總共有10個分片。

(畫外音:副本是針對索引而言的,同時需要注意索引和節點數量沒有關係,我們說2個副本指的是索引被複製了2次,而1個索引可能由5個分片組成,那麼在這種情況下,集群中的分片數應該是 5 × (1 + 2) = 15 )

ElasticSearch的基本認識和基本操作

es即為了解決原生lucene使用的不足,優化lucene的呼叫方式,並實現了高可用的分布式集群的搜尋方案,其第乙個版本於2010年2月出現在github上並迅速成為最受歡迎的專案之一。分布式的實時檔案儲存,每個欄位都被索引並可被搜尋 分布式的實時分析搜尋引擎 可以擴充套件到上百臺伺服器,處理pb級...

elasticsearch的分布式架構基本原理

首先,es 的設計理念就是分布式搜尋引擎,底層還是基於lucene的 核心思想就是在多台機器上啟動多個es程序實列,組成乙個es集群。es中儲存資料的基本單位是索引,假設你要在es中儲存資料,首先就要在es中建立乙個索引,所有的資料都寫到這個索引裡面去,乙個索引差不多相當於mysql裡面的一張表。1...

分布式爬蟲之elasticsearch基礎1

一 搜尋引擎elasticsearch介紹 elasticsearch 是乙個全文搜尋引擎,可以快速地儲存 搜尋和分析海量資料。二 應用場景 三 安裝 elasticsearch 缺省會在 9200 埠上執行,我們開啟瀏覽器訪問http localhost 9200 elasticsearch 本質...