Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。现在是使用最广的开源搜索引擎之一,Wikipedia、Stack Overflow、GitHub 等都基于 Elasticsearch 来构建他们的搜索引擎。
Elasticsearch 本质上是一个数据库,但并不是 Mysql 这种关系型数据库,查询语言也不是 SQL,而且 Elasticsearch 自己的一套查询语言。
既然是数据库,有一些概念是互通的,如下表:
MySQL |
Elasticsearch |
数据库(Database) |
索引(Index) |
表(Table) |
类型(Type) |
记录(Row) |
文档(Document) |
字段(Column) |
字段(Fields) |