Elasticsearch之索引的不同含義


 

一、Elasticsearch與關系數據庫的相關術語的對應關系

 
Elasticsearch集群可以包含多個索引(indices)(數據庫),每一個索引可以包含多個類型(types)(表),每一個類型可以包含多個文檔(document)(行),每個文檔包含多個字段(Filelds)(列)。
 
 

二、索引

常常因為索引傻傻分不清楚,索引在ES中有三層不同的含義。
 
1)index(名詞)
 
一個索引就像是傳統的關系數據庫中的數據庫,他是相關文檔存儲的地方,index的復數是indices或indexes。
 
查看Elasticsearch中所有的索引(所有的庫)
 
 
2)index(動詞)
 
索引一個文檔,表示將一個文檔存儲到索引里(名詞),以便他可以被檢索和查詢,跟sql語句中的insert一樣,但是在ES中,如果文檔已經存在,新的文檔將會把就的文檔覆蓋。 
 
PUT /megacorp/employee/1 
{ 
    "first_name" : "John", 
    "last_name" : "Smith", 
    "age" : 25, 
    "about" : "I love to go rock climbing", 
    "interests": [ "sports", "music" ] 
}

# /index_name/type_name/document_id
# /庫名/表名/id

 

 
3)倒排索引(數據結構,算法)
 
在傳統數據庫中給某一個特定的列增加一個索引,如B-Tree索引來加速檢索。 Elasticsearch和Lucene使用一種叫做倒序索引(inverted index)的數據結構來達到相同的目的。 默認情況下,文檔中的所有字段都會被索引(擁有一個倒排索引),只有這樣他們才是可被搜索的。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM