6.5. Elasticsearch 基础概念
Elasticsearch
前几节我们完成了商品的数据结构调整以及真实商品的填充,接下来我们开始学习 Elasticsearch 的使用。
我们选用 Elasticsearch 作为底层的搜索引擎,目前 Elasticsearch 的最新版本是 6.x,本课程所有的搜索代码都是基于 6.x 版本。
Elasticsearch 是一个分布式的搜索和分析引擎,可以用于全文检索、结构化检索和分析,并能将这三者结合起来。Elasticsearch 基于 Lucene 开发,是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。现在是使用最广的开源搜索引擎之一,Wikipedia、Stack Overflow、GitHub 等都基于 Elasticsearch 来构建他们的搜索引擎。
1. Elasticsearch 的基础概念
Elasticsearch 是一个非常灵活和强大的搜索引擎,涉及到非常多的概念,为了降低入门门槛,这里先给大家介绍 Elasticsearch 最最基础的一些概念。
Elasticsearch 本质上是一个数据库,但并不是 Mysql 这种关系型数据库,查询语言也不是 SQL,而且 Elasticsearch 自己的一套查询语言。
既然是数据库,有一些概念是互通的,如下表:
Mysql | Elastics... |
---|