ElasticSearch 概述

时间:2023-03-08 21:43:10

简介

Elasticsearch是一个基于Lucene的开源搜索引擎。Elasticsearch也使用Java开发并使用Lucene作为其核心来实现所有索引和搜索的功能,但是它的目的是通过简单的RESTful API来隐藏Lucene的复杂性,从而让全文搜索变得简单。

Elasticsearch不仅仅是Lucene和全文搜索,我们还能这样去描述它:

  • 分布式的实时文件存储,每个字段都被索引并可被搜索
  • 分布式的实时分析搜索引擎
  • 可以扩展到上百台服务器,处理PB级结构化或非结构化数据

而且,所有的这些功能被集成到一个服务里面,你的应用可以通过简单的RESTful API、各种语言的客户端甚至命令行与之交互。

索引

ElasticSearch 跟关系数据库的对比可以看下图:

Relational DB -> Databases -> Tables -> Rows -> Columns
Elasticsearch -> Indices   -> Types  -> Documents -> Fields

Elasticsearch集群可以包含多个索引(indices)(数据库),每一个索引可以包含多个类型(types)(表),每一个类型包含多个文档(documents)(行),然后每个文档包含多个字段(Fields)(列)。

参考: http://es.xiaoleilu.com/010_Intro/25_Tutorial_Indexing.html

 

参考资料:

中文版 ELKstack
http://kibana.logstash.es/content/elasticsearch/principle/index.html 

Elasticsearch 权威指南(中文版)
https://www.gitbook.com/book/looly/elasticsearch-the-definitive-guide-cn