我们之前介绍了搜索引擎相关的技术,并且也简单介绍了Elasticsearch相关的基本知识。那通过之前的内容我们知道Elasticsearch它是一个基于Lucene的搜索服务器。且它提供了一个分布式多用户能力的全文搜索引擎,并且还提供了分布式搜索、数据分析、分组和聚合等高级功能。那么在这一篇中我们主要介绍一下Elasticsearch的安装、使用、相关概念等内容。
下面我们介绍一下怎么安装Elasticsearch。我们首先打开Elasticsearch的官方网站。
https://www.elastic.co/cn/
当我们打开官方网站后,我们惊奇地发现Elasticsearch比较友好地提供中文简体的官方网站,这一点比其它主流的技术网站要好得多,特别是对于英语-6级的我们来说。然后我们点击首页上方的产品,下面就会显示出Elasticsearch的产品。我们点击即可。也就是如下图所示:
![4173f2f748d9ba2867de4a4fd56384e8.png](https://i-blog.csdnimg.cn/blog_migrate/e17ae0226c5df0e4e9b42208debc2eaf.jpeg)
然后我们在新打开的页面的中间位置的左边点击【即可下载并开始使用】按钮就可以找到不同操作系统,不同版本的Elasticsearch产品。具体操作如下图所示:
![d3b001f0f71668b2d98bf0f1e8a46611.png](https://i-blog.csdnimg.cn/blog_migrate/d9c759f6600741798cb60fb62553c97a.jpeg)
然后我们继续在新打开的页面中,选择符合我们操作系统的版本即可。因为本人的系统是苹果,所以本人需下载Mac版本。具体操作如图所示:
![414f0e7c3bb9f4fb10fb66484029f0ca.png](https://i-blog.csdnimg.cn/blog_migrate/6a4e560ffa51eff5a831f6da7804b19f.jpeg)
(备注:Mac版本下载下来的也是tar.gz,所以也可以在Linux系统上运行)
当我们下载完后成,我们解压一下该文件,来看一下Elasticsearch都包括哪些内容。下图就是Elasticsearch解压后的全部目录及其文件。
![b42f08c1e753d040900806140bc644e0.png](https://i-blog.csdnimg.cn/blog_migrate/dc23716f2ed387f87e11f939b87bc6b1.jpeg)
下面我们简单介绍一下以上所有目录的作用。
- bin: Elasticsearch的相关脚本命令。
- config: Elasticsearch相关的配置文件。
- lib: 相关的jar依赖包,因为Elasticsearch是使用Java语言开发的。
- logs: Elasticsearch存储日志的地方。
- plugins: Elasticsearch存储插件的地方,因为Elasticsearch允许我们安装相应的插件。比较常用的插件如中文分词等。
介绍了这么多理论的知识,下面我们直接动手启动一下Elasticsearch,让我们更直观地感受一下。启动Elasticsearch也比较简单,直接进入Elasticsearch的bin目录,然后执行以下命令即可。
./elasticsearch
然后我们看一下Elasticsearch的启动日志,看是否能正确的启动成功,因为从下载到解压,我们现在没有修改过任何Elasticsearch的相关配置,这和有些其它的产品不同。因为有些产品是需要我们简单配置一些信息的。下图为Elasticsearch的启动日志:
![b4d4c52c3057c20139c40c5a35465740.png](https://i-blog.csdnimg.cn/blog_migrate/b0de14fcab18c31d69f4ab890f5dfc2d.jpeg)
我们看上面的日志貌似没有出现启动失败的日志,并且我们仔细观察就会发现日志中输出了访问的地址,也就是下面的日志信息:
publish_address {127.0.0.1:9200}, bound_addresses {[::1]:9200}, {127.0.0.1:9200}
我们可以试着访问一下,并且通过上述地址,我们可以验证Elasticsearch是否启动成功。下面我们访问一下来看一下返回什么信息。具体如下图所示:
![a2e34e99439b9fef419bef6e6b420f2c.png](https://i-blog.csdnimg.cn/blog_migrate/79d67801cccca637b9319820533bae49.jpeg)
我们虽然看不懂上面每个字段的意思,但我们基本上也能看出来,我们的Elasticsearch启动成功了,因为上述信息返回了我们Elasticsearch的安装版本。这些信息具体的的字段含义,我们在接下来的文章中在做详细介绍,在这一篇里我们就不再介绍了。下面我们介绍一下Elasticsearch的相关概念说明。
我们之前的文章中介绍了结构化数据和非结构化数据。而结构化的数据我们基本采用数据库的方式存储,而非结构化的数据则采用类似Elasticsearch等相关的技术。所以我们接下来将Elasticsearch中的相关概念和数据库中的概念来做一个对比,来加深我们对Elasticsearch的理解。
- 索引(index):相当于数据库
- 类型(type):相当于数据库中的表。(备注:最新版的Elasticsearch已经不支持type了)
- 映射(mapping):相当于数据库中的表结构
- 文档(document):相当于数据库中的一条数据
- 字段(field):相当于数据库中的字段
以上内容就是本篇的全部内容,在下一篇,我们将重点介绍Elasticsearch的相关API的功能 ,谢谢。