SlideShare une entreprise Scribd logo
1  sur  16
Elasticsearch
Introduction 簡介
Presented by Pei (Pei-Hsun Kao)
Introduction
Outline
1. 什麼是Elasticsearch?
2. 名詞解釋
Elasticsearch
是什麼?
 “Elasticsearch is a flexible and powerful open source,
distributed, real-time search and analytics
engine. ……Through its robust set of APIs and query
DSLs, …… Elasticsearch delivers on the near
limitless promises of search technology.”
-elasticsearch.org
Open Source, Distributed, RESTful
Search Engine
OpenSource
開放原始碼
 Elasticsearch是Github上的開源專案
 開放原始碼:免費
 新一代的搜尋引擎:技術優勢
 擁有龐大的活躍社群:持續更新
 已被廣泛應用於許多大型網站:穩定
Distributed
分散式架構
 Distributed為新型態資料庫NoSQL的重要特徵
 為了應付大量資料與效能瓶頸
 Elasticsearch屬於Document oriented NoSQL
 Using JSON as document
 Schema-free
 Elasticsearch的分散式架構具有
 Horizontally scalable
 Easy replication
JSON
RESTfulAPI
易於使用
 RESTful是一種架構風格,漸成Web service的主流。
 基於HTTP協定,定義資源(URL),並善用HTTP
method
 有限但多態的動詞+名詞
 Elasticsearch API = RESTful http request +
JSON body
 搜尋語法稱為”Query DSLs”
Search Engine
搜尋引擎
 Elasticsearch使用Apache
Lucene作為核心。是一個成
熟且開源的Java資訊檢索程
式庫。
 Search Engine是NoSQL Database的一個分類。是為了搜
尋而誕生的資料庫,通常具有全文檢索,地理搜尋等高階功能。
結合各方優點
 “事實上,Elasticsearch沒有哪個部份是革命性的技術創新。
全文索檢、分析系統、或分散式資料庫都早就被實現過。其
創新在於把這些個別的科技結合起來,成為單一系統。”
- Elasticsearch:The DefinitiveGuide
Lucene
search
engine
RestfulAPI
Distributed
system
快速崛起的
Elasticsearch
2013 ~ 2014
“We use Elasticsearch for…pretty much everything”
-David Heinemeier Hansson
Aug. 2014
趨勢
已經發生
當你在Wikipedia上找資料;
當你在StackOverflow上問問題;
當你在Github上瀏覽專案;
你都在使用同樣的搜尋引擎:Elasticsearch。
認識
Elasticsearch
 就像學習關聯式資料庫要先學SQL語法…
 Elasticsearch不用”SQL”,他有自己的”Query DSLs”。
 Elasticsearch定義了許多專有名詞:
 跟索引有關的Index,Type(Mapping), Document…
 跟架構有關的Cluster, Node…
 跟備援有關的Replica….
 讓我們來認識這些名詞。
認識
Elasticsearch
專有名詞
 Index:類似RDBMS的Database;儲存Document(JSON)的命名空間。
 Type:類似RDBMS的Table;包含Field列表,儲存相似的JSON
 Document:類似RDBMS的Row;單筆資料,即JSON。
 Field:類似RDBMS的Column;欄位,即JSON中的數值對。
認識
Elasticsearch
專有名詞
 Node:類似RDBMS的伺服器;通常代表實體機器。
 Cluster:類似RDBMS的伺服器叢集;由Node組成。
 Shard: RDBMS沒有此概念;為Index的分割,可以存放在不
同機器上。為Lucene執行搜尋的基本單位。
0 3 1 4 2
Node_0 Node_1 Node_2
ES Cluster
認識
Elasticsearch
專有名詞
 Primary shard:Index可以有一到多個Primary shard,以分
開儲存,設定後不可更改。(預設值=5)
 Replica shard:備援機制。Index可以有零到多份Replica,每
個Primary shard都有零到多個Replica shard,可隨時更改。(預
設值=1)
P0 P3 P1 P4 P2 R0
R3R1 R4R2
Node_0 Node_1 Node_2
DEMO
1. 瀏覽目錄結構
2. 示範透過Port:9200操作Elasticsearch
3. 透過範例認識Query語法
4. 檢視回傳的JSON內容
Q&A
 進一步查詢官方文件:www.elasticsearch.org
 未來將針對個別主題另外介紹:
 安裝注意事項(不同系統)
 監控套件介紹
 分散式架構原理
 佈屬注意事項
 搜尋原理與API
 分析原理與API
 歡迎討論與問答。

Contenu connexe

Tendances

ELK Stack - Kibana操作實務
ELK Stack - Kibana操作實務ELK Stack - Kibana操作實務
ELK Stack - Kibana操作實務Kedy Chang
 
Twitter 與 ELK 基本使用
Twitter 與 ELK 基本使用Twitter 與 ELK 基本使用
Twitter 與 ELK 基本使用Mark Dai
 
山頂洞人日記 - 回歸到最純樸的開發
山頂洞人日記 -  回歸到最純樸的開發山頂洞人日記 -  回歸到最純樸的開發
山頂洞人日記 - 回歸到最純樸的開發koji lin
 
PostgreSQL Search
PostgreSQL SearchPostgreSQL Search
PostgreSQL Searchguestb75c3a
 
CH04:認識物件
CH04:認識物件CH04:認識物件
CH04:認識物件Justin Lin
 
Spark sql培训
Spark sql培训Spark sql培训
Spark sql培训Jiang Yu
 
CH09:Collection與Map
CH09:Collection與MapCH09:Collection與Map
CH09:Collection與MapJustin Lin
 
Elastic search
Elastic searchElastic search
Elastic searchSamchu Li
 
The practice of enjoying apache
The practice of enjoying apacheThe practice of enjoying apache
The practice of enjoying apachejixuan1989
 
scrapy+sphinx搭建搜索引擎
scrapy+sphinx搭建搜索引擎scrapy+sphinx搭建搜索引擎
scrapy+sphinx搭建搜索引擎Ping Yin
 
Ch07 使用 JSTL
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTLJustin Lin
 
Data Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouseData Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouseJack Gao
 
AWS Lambda Multi-Cloud Practices
AWS Lambda Multi-Cloud PracticesAWS Lambda Multi-Cloud Practices
AWS Lambda Multi-Cloud Practices康志強 大人
 
FHIR Server 安裝與使用
FHIR Server 安裝與使用FHIR Server 安裝與使用
FHIR Server 安裝與使用Lorex L. Yang
 
Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架Cabin WJ
 
无数据库日志文件恢复数据库方法两则
无数据库日志文件恢复数据库方法两则无数据库日志文件恢复数据库方法两则
无数据库日志文件恢复数据库方法两则wensheng wei
 
cnYes 如何使用 elasticsearch
cnYes 如何使用 elasticsearchcnYes 如何使用 elasticsearch
cnYes 如何使用 elasticsearchSzuping Wang
 
ClickHouse北京Meetup ClickHouse Best Practice @Sina
ClickHouse北京Meetup ClickHouse Best Practice @SinaClickHouse北京Meetup ClickHouse Best Practice @Sina
ClickHouse北京Meetup ClickHouse Best Practice @SinaJack Gao
 
北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用Lorex L. Yang
 
搶救資料庫效能大作戰
搶救資料庫效能大作戰搶救資料庫效能大作戰
搶救資料庫效能大作戰Rico Chen
 

Tendances (20)

ELK Stack - Kibana操作實務
ELK Stack - Kibana操作實務ELK Stack - Kibana操作實務
ELK Stack - Kibana操作實務
 
Twitter 與 ELK 基本使用
Twitter 與 ELK 基本使用Twitter 與 ELK 基本使用
Twitter 與 ELK 基本使用
 
山頂洞人日記 - 回歸到最純樸的開發
山頂洞人日記 -  回歸到最純樸的開發山頂洞人日記 -  回歸到最純樸的開發
山頂洞人日記 - 回歸到最純樸的開發
 
PostgreSQL Search
PostgreSQL SearchPostgreSQL Search
PostgreSQL Search
 
CH04:認識物件
CH04:認識物件CH04:認識物件
CH04:認識物件
 
Spark sql培训
Spark sql培训Spark sql培训
Spark sql培训
 
CH09:Collection與Map
CH09:Collection與MapCH09:Collection與Map
CH09:Collection與Map
 
Elastic search
Elastic searchElastic search
Elastic search
 
The practice of enjoying apache
The practice of enjoying apacheThe practice of enjoying apache
The practice of enjoying apache
 
scrapy+sphinx搭建搜索引擎
scrapy+sphinx搭建搜索引擎scrapy+sphinx搭建搜索引擎
scrapy+sphinx搭建搜索引擎
 
Ch07 使用 JSTL
Ch07 使用 JSTLCh07 使用 JSTL
Ch07 使用 JSTL
 
Data Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouseData Analyse Black Horse - ClickHouse
Data Analyse Black Horse - ClickHouse
 
AWS Lambda Multi-Cloud Practices
AWS Lambda Multi-Cloud PracticesAWS Lambda Multi-Cloud Practices
AWS Lambda Multi-Cloud Practices
 
FHIR Server 安裝與使用
FHIR Server 安裝與使用FHIR Server 安裝與使用
FHIR Server 安裝與使用
 
Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架Apache Zookeeper 分布式服务框架
Apache Zookeeper 分布式服务框架
 
无数据库日志文件恢复数据库方法两则
无数据库日志文件恢复数据库方法两则无数据库日志文件恢复数据库方法两则
无数据库日志文件恢复数据库方法两则
 
cnYes 如何使用 elasticsearch
cnYes 如何使用 elasticsearchcnYes 如何使用 elasticsearch
cnYes 如何使用 elasticsearch
 
ClickHouse北京Meetup ClickHouse Best Practice @Sina
ClickHouse北京Meetup ClickHouse Best Practice @SinaClickHouse北京Meetup ClickHouse Best Practice @Sina
ClickHouse北京Meetup ClickHouse Best Practice @Sina
 
北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用北護大/FHIR 開發簡介與應用
北護大/FHIR 開發簡介與應用
 
搶救資料庫效能大作戰
搶救資料庫效能大作戰搶救資料庫效能大作戰
搶救資料庫效能大作戰
 

Similaire à Elasticsearch 簡介

Partner Session - Alibaba
Partner Session - Alibaba Partner Session - Alibaba
Partner Session - Alibaba Elasticsearch
 
Sphinx 全文检索实践指南
Sphinx 全文检索实践指南Sphinx 全文检索实践指南
Sphinx 全文检索实践指南Shaoning Pan
 
ElasticSearch Introduction
ElasticSearch IntroductionElasticSearch Introduction
ElasticSearch IntroductionTsungWei Hu
 
开放源代码的全文检索Lucene
开放源代码的全文检索Lucene开放源代码的全文检索Lucene
开放源代码的全文检索Luceneyiditushe
 
如何使用Cite space进行文献共被引分析
如何使用Cite space进行文献共被引分析如何使用Cite space进行文献共被引分析
如何使用Cite space进行文献共被引分析cueb
 
Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AIKo Ko
 
Itpub电子杂志第四期第二稿
Itpub电子杂志第四期第二稿Itpub电子杂志第四期第二稿
Itpub电子杂志第四期第二稿yiditushe
 
Wos Guide
Wos GuideWos Guide
Wos Guidesuncx
 
Mysql HandleSocket技术在SNS Feed存储中的应用
Mysql HandleSocket技术在SNS Feed存储中的应用Mysql HandleSocket技术在SNS Feed存储中的应用
Mysql HandleSocket技术在SNS Feed存储中的应用iammutex
 
Couchbase introduction - Chinese
Couchbase introduction - Chinese Couchbase introduction - Chinese
Couchbase introduction - Chinese Vickie Zeng
 
Private cloud and open stack
Private cloud and open stackPrivate cloud and open stack
Private cloud and open stackzhangxiao2016
 
探索海量文章,Elasticsearch 建置和應用
探索海量文章,Elasticsearch 建置和應用探索海量文章,Elasticsearch 建置和應用
探索海量文章,Elasticsearch 建置和應用Yi-Wei Lai
 
Ajax Lucence
Ajax LucenceAjax Lucence
Ajax LucenceRoger Xia
 
Lucene漫谈
Lucene漫谈Lucene漫谈
Lucene漫谈Zek Chang
 
Lucene漫谈
Lucene漫谈Lucene漫谈
Lucene漫谈Zek Chang
 
Elastic Stack 最新动态
Elastic Stack 最新动态Elastic Stack 最新动态
Elastic Stack 最新动态Elasticsearch
 
喬叔 Elasticsearch Index 管理技巧與效能優化
喬叔 Elasticsearch Index 管理技巧與效能優化喬叔 Elasticsearch Index 管理技巧與效能優化
喬叔 Elasticsearch Index 管理技巧與效能優化Joe Wu
 

Similaire à Elasticsearch 簡介 (20)

Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Partner Session - Alibaba
Partner Session - Alibaba Partner Session - Alibaba
Partner Session - Alibaba
 
Sphinx 全文检索实践指南
Sphinx 全文检索实践指南Sphinx 全文检索实践指南
Sphinx 全文检索实践指南
 
ElasticSearch Introduction
ElasticSearch IntroductionElasticSearch Introduction
ElasticSearch Introduction
 
开放源代码的全文检索Lucene
开放源代码的全文检索Lucene开放源代码的全文检索Lucene
开放源代码的全文检索Lucene
 
如何使用Cite space进行文献共被引分析
如何使用Cite space进行文献共被引分析如何使用Cite space进行文献共被引分析
如何使用Cite space进行文献共被引分析
 
Langchain and Azure ML and Open AI
Langchain and Azure ML and Open AILangchain and Azure ML and Open AI
Langchain and Azure ML and Open AI
 
Itpub电子杂志第四期第二稿
Itpub电子杂志第四期第二稿Itpub电子杂志第四期第二稿
Itpub电子杂志第四期第二稿
 
Wos Guide
Wos GuideWos Guide
Wos Guide
 
Mysql HandleSocket技术在SNS Feed存储中的应用
Mysql HandleSocket技术在SNS Feed存储中的应用Mysql HandleSocket技术在SNS Feed存储中的应用
Mysql HandleSocket技术在SNS Feed存储中的应用
 
20130339广州
20130339广州20130339广州
20130339广州
 
Couchbase introduction - Chinese
Couchbase introduction - Chinese Couchbase introduction - Chinese
Couchbase introduction - Chinese
 
Private cloud and open stack
Private cloud and open stackPrivate cloud and open stack
Private cloud and open stack
 
探索海量文章,Elasticsearch 建置和應用
探索海量文章,Elasticsearch 建置和應用探索海量文章,Elasticsearch 建置和應用
探索海量文章,Elasticsearch 建置和應用
 
Ajax Lucence
Ajax LucenceAjax Lucence
Ajax Lucence
 
Lucene漫谈
Lucene漫谈Lucene漫谈
Lucene漫谈
 
Lucene漫谈
Lucene漫谈Lucene漫谈
Lucene漫谈
 
Elastic Stack 最新动态
Elastic Stack 最新动态Elastic Stack 最新动态
Elastic Stack 最新动态
 
喬叔 Elasticsearch Index 管理技巧與效能優化
喬叔 Elasticsearch Index 管理技巧與效能優化喬叔 Elasticsearch Index 管理技巧與效能優化
喬叔 Elasticsearch Index 管理技巧與效能優化
 
Lucene实践
Lucene实践Lucene实践
Lucene实践
 

Elasticsearch 簡介