7. ES中基本概念
7.1 接近實時(NRT Near Real Time )
Elasticsearch是一個接近實時的搜索平臺。這意味著捷绒,從索引一個文檔直到這個文檔能夠被搜索到有一個輕微的延遲(通常是1秒內(nèi))
7.2 索引(index)
一個索引就是一個擁有幾分相似特征的文檔的集合。比如說晓殊,你可以有一個客戶數(shù)據(jù)的索引异吻,另一個產(chǎn)品目錄的索引,還有一個訂單數(shù)據(jù)的索引羡忘。一個索引由一個名字來標(biāo)識(必須全部是小寫字母的),并且當(dāng)我們要對這個索引中的文檔進行索引磕昼、搜索卷雕、更新和刪除的時候,都要使用到這個名字票从。索引類似于關(guān)系型數(shù)據(jù)庫中Database 的概念漫雕。在一個集群中滨嘱,如果你想,可以定義任意多的索引浸间。
7.3 類型(type)
在一個索引中太雨,你可以定義一種或多種類型。一個類型是你的索引的一個邏輯上的分類/分區(qū)魁蒜,其語義完全由你來定囊扳。通常,會為具有一組共同字段的文檔定義一個類型兜看。比如說锥咸,我們假設(shè)你運營一個博客平臺并且將你所有的數(shù) 據(jù)存儲到一個索引中。在這個索引中铣减,你可以為用戶數(shù)據(jù)定義一個類型她君,為博客數(shù)據(jù)定義另一個類型,當(dāng)然葫哗,也可 以為評論數(shù)據(jù)定義另一個類型。類型類似于關(guān)系型數(shù)據(jù)庫中Table的概念球涛。
NOTE: 在5.x版本以前可以在一個索引中定義多個類型,6.x之后版本也可以使用,但是不推薦,在7~8.x版本中徹底移除一個索引中創(chuàng)建多個類型
7.4 映射(Mapping)
Mapping是ES中的一個很重要的內(nèi)容劣针,它類似于傳統(tǒng)關(guān)系型數(shù)據(jù)中table的schema,用于定義一個索引(index)中的類型(type)的數(shù)據(jù)的結(jié)構(gòu)专钉。 在ES中瞪慧,我們可以手動創(chuàng)建type(相當(dāng)于table)和mapping(相關(guān)與schema),也可以采用默認(rèn)創(chuàng)建方式挡逼。在默認(rèn)配置下,ES可以根據(jù)插入的數(shù)據(jù)自動地創(chuàng)建type及其mapping襟己。 mapping中主要包括字段名、字段數(shù)據(jù)類型和字段索引類型
7.5 文檔(document)
一個文檔是一個可被索引的基礎(chǔ)信息單元牍陌,類似于表中的一條記錄擎浴。比如,你可以擁有某一個員工的文檔,也可以擁有某個商品的一個文檔毒涧。文檔以采用了輕量級的數(shù)據(jù)交換格式JSON(Javascript Object Notation)來表示贮预。