目錄
ES概念介紹
1、ES核心概念組成
2、ES數(shù)據(jù)類型介紹
2.1 字符串型
2.2 數(shù)值型
2.3 布爾型 boolean
2.4 二進制類型 binary
2.5 范圍類型
2.6 日期型 date
2.7 復(fù)雜數(shù)據(jù)類型
3、特點
4、應(yīng)用場景舉例
ES概念介紹
Elaticsearch,簡稱為ES, ES是一個開源的高擴展的分布式全文搜索引擎,是整個Elastic Stack技術(shù)棧的核心。它可以近乎實時的存儲、檢索數(shù)據(jù);本身擴展性很好,可以擴展到上百臺服務(wù)器,處理PB級別的數(shù)據(jù)。
1、ES核心概念組成
- 索引 index:一個索引相當(dāng)于一個關(guān)系數(shù)據(jù)庫的數(shù)據(jù)庫
- 類型 type:一種type相當(dāng)于關(guān)系數(shù)據(jù)庫的一類數(shù)據(jù)表,在ES 7.x默認type為_doc
????????ES 5.x中一個索引(index)可以有多種type
????????ES 6.x中一個索引(index)只能有一種type
????????ES 7.x版本以后,將逐步淡化type這個概念,現(xiàn)在的操作已經(jīng)不再使用,默認_doc
- 映射 mapping:mapping定義了每個字段的類型、字段所使用的分詞器信息。相當(dāng)于關(guān)系型數(shù)據(jù)庫中的表結(jié)構(gòu)。
- 文檔 document:一個document相當(dāng)于關(guān)系型數(shù)據(jù)庫中數(shù)據(jù)表的一行記錄
- 倒排索引:一個倒排索引由文檔中所有不重復(fù)詞的列表構(gòu)成,對于其中每個詞都有包含它的文檔id列表
- 字段 field:相當(dāng)于關(guān)系型數(shù)據(jù)庫表的字段名稱
2、ES數(shù)據(jù)類型介紹
2.1 字符串型
text:用于全文索引,該類型的字段將通過分詞器 進行分詞
keyword:不進行分詞,只能搜索該字段的完整的值
2.2 數(shù)值型
long, integer, short, byte, double, float, half_float, scaled_float
2.3 布爾型 boolean
boolean JSON 中的 “true”、“false”、true、false 都可以
2.4 二進制類型 binary
該類型的字段把值當(dāng)做經(jīng)過 base64 編碼的字符串,默認不存儲,且不可搜索
2.5 范圍類型
范圍類型表示值是一個范圍,而不是一個具體的值
integer_range, float_range, long_range, double_range, date_range
比如:age 的類型是 integer_range,如果存儲的值是 {"gte" : 18, "lte" : 90};搜索 "term" : {"age": 60} 可以查詢到該值
2.6 日期型 date
因為Json沒有date類型,所以es通過識別字符串是否符合format定義的格式來判斷是否滿足date類型
format默認為:strict_date_optional_time||epoch_millis
"2023-01-31" "2023/01/31 12:10:30" 類似這種字符串格式
2.7 復(fù)雜數(shù)據(jù)類型
- 數(shù)組:[ ] Nested: nested (數(shù)組類型的JSON對象)
比如:[ { "name": "小張", "age": 30 }, { "name": "小李", "age": 35 }]
- 對象:{ } Object: object(單個JSON對象)
比如:{ "name": "小李", "age": 35 }
3、特點
分布式架構(gòu):Elasticsearch采用分布式架構(gòu),可以在多個節(jié)點上分散存儲和處理數(shù)據(jù),從而提高了數(shù)據(jù)的可伸縮性和可用性。
實時性:Elasticsearch可以實時地存儲和處理數(shù)據(jù),使得應(yīng)用程序可以快速地捕捉和分析實時數(shù)據(jù)。
自動分片和復(fù)制:Elasticsearch可以自動將數(shù)據(jù)分片,并將數(shù)據(jù)復(fù)制到多個節(jié)點上,從而提高了數(shù)據(jù)的可用性和可靠性。
多種數(shù)據(jù)格式支持:Elasticsearch支持多種數(shù)據(jù)格式,包括JSON、XML、CSV等,可以處理各種類型的數(shù)據(jù)。
搜索和分析:Elasticsearch可以通過簡單的API實現(xiàn)全文搜索和復(fù)雜的分析,從而可以快速地分析和理解大量的數(shù)據(jù)。
支持多個搜索引擎:Elasticsearch支持多個搜索引擎,可以同時處理多個搜索請求,從而提高了搜索的性能和效率。
簡單易用:Elasticsearch具有簡單易用的API和管理工具,使得開發(fā)者可以輕松地使用和管理Elasticsearch。
開源免費:Elasticsearch是開源免費的,可以自由地使用和修改,從而滿足不同的需求。
4、應(yīng)用場景舉例
網(wǎng)站搜索:Elasticsearch可以用于構(gòu)建高性能的網(wǎng)站搜索引擎,例如Google、Bing等。在搜索請求中,Elasticsearch可以快速地處理數(shù)十億甚至數(shù)百億的文檔,從而提供高性能的搜索服務(wù)。
日志分析:Elasticsearch可以用于對日志文件進行搜索和分析,例如Apache、Nginx等。在日志分析中,Elasticsearch可以快速地找到關(guān)鍵字和趨勢,幫助用戶提高業(yè)務(wù)效率。
數(shù)據(jù)分析:Elasticsearch可以用于數(shù)據(jù)分析和挖掘,例如Facebook、Twitter等。在Facebook和Twitter等社交媒體平臺上,每天都會產(chǎn)生海量的數(shù)據(jù),Elasticsearch可以快速地處理和分析這些數(shù)據(jù),從而發(fā)現(xiàn)用戶的興趣、習(xí)慣等,為企業(yè)提供更好的服務(wù)。
物聯(lián)網(wǎng):Elasticsearch可以用于物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)存儲和分析,例如智能家居、智能交通等。在智能家居和智能交通中,每天都會產(chǎn)生大量的數(shù)據(jù),Elasticsearch可以將這些數(shù)據(jù)存儲在分布式的節(jié)點上,從而實現(xiàn)設(shè)備的智能化控制和管理。
數(shù)據(jù)庫備份:Elasticsearch可以用于數(shù)據(jù)庫備份和恢復(fù),例如MySQL、Oracle等。在數(shù)據(jù)庫備份和恢復(fù)中,Elasticsearch可以將數(shù)據(jù)快速地存儲在分布式的節(jié)點上,從而保證數(shù)據(jù)的安全性和可用性。文章來源:http://www.zghlxwxcb.cn/news/detail-425499.html
搜索引擎:Elasticsearch可以用于構(gòu)建高性能的搜索引擎,例如谷歌、百度等。在搜索引擎中,Elasticsearch可以提供全文搜索和復(fù)雜的分析功能,幫助用戶快速地找到所需的信息。文章來源地址http://www.zghlxwxcb.cn/news/detail-425499.html
到了這里,關(guān)于【創(chuàng)作贏紅包】ElasticSerach基礎(chǔ)概念知識梳理的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!