想要知道ElasticSearch是如何使用的,最快的方式就是通過一個簡單的例子,第一個例子將會包括基本概念如索引、搜索、和聚合等,需求是關于公司管理員工的一些業(yè)務。
員工文檔索引
業(yè)務首先需要存儲員工數據。這將采取一個員工文檔的形式:單個文檔表示單個員工。在Elasticsearch中存儲數據的行為稱為索引,但是在索引文檔之前,我們需要決定在哪里存儲它。
在Elasticsearch中,文檔屬于某個類型,這些類型位于索引中。可以繪制一些(粗略)與傳統關系數據庫的對比:
Relational DB ? Databases ? Tables ? Rows ? Columns Elasticsearch ? Indices ? Types ? Documents ? Fields
Elasticsearch集群可以包含多個索引(數據庫),這些索引又包含多個類型(表)。這些類型包含多個文檔(行),每個文檔都有多個字段(列)。
您可能已經注意到,在Elasticsearch的上下文中,索引被重載了幾個含義。如下:
索引(名詞):正如前面所解釋的那樣,索引就像傳統的關系數據庫中的數據庫一樣。它是存儲相關文檔的地方。index的復數形式是indices或indexes。
索引(動詞):索引一個文檔是將一個文檔存儲在索引(名詞)中,以便它可以檢索和查詢。它很像插入關鍵詞SQL。此外,如果文檔已經存在,新的文檔將取代舊的。
倒排索引:關系數據庫中增加一個索引,如B-樹索引,對特定列為了提高數據檢索的速度。Elasticsearch和Lucene提供相同目的的索引稱為倒排索引。
默認情況下,文檔中的每個字段索引(有一個倒排索引)這樣的搜索。一個沒有倒排索引字段不可搜索。
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現JSON轉Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結合數據結構來看看(二) 2017-07-26