搜索引擎Elasticsearch,了解一下?

ElasticSearch介绍

ElasticSearch是一个全文搜索服务器,也可以作为NoSql数据库,存储任意格式的文档和数据,同时可以做大数据的分析。ElasticSearch具有以下特点:

  1. 全文搜索引擎,ES是简历在Lucebe上的开元索索引擎,可以用来进行全文搜索、地理信息搜索

  2. 文档存储和查询,可以向NoSql那样存储任意格式的文档,并能根据条件查询文档

  3. 大数据分析,ES号称能准确实时地进行大数据分析,数据量从TB到PB

  4. ES提供了REST API,用来简化对ES的操作,因此可以使用任何语言的哭护短,同时也提供了Java API,Spring Boot对REST API进行了封装,简化了开发

  5. ES常常配合传统数据库一起使用,ES用来负责大数据的查询、搜索、统计分析等。

ElasticSearch中的基本概念

掌握ES中的基本概念是理解ES的第一步

  1. Index: index是文档(Document)的集合,index下面包含了Type,用于对文档进一步分类,可以理解为ES中的Index相当于数据库,Type相当于数据库中的表,Es中可以轻易地联合Index和Type来搜索数据,数据库却不能。

  2. Type:用来进一步组织Document,一个Index下可以有多个Type,比如用户信息是一个Type,用户的支付记录是一个Type

  3. Document:文档是ES能够存储和搜索的基本信息,类似数据库表行数据,Document为Json格式,文档属于Type

  4. Node:节点是集群里的一台ES Server,用于文档的存储和查询。应用可以只有一个节点,也可以是由多个节点组成的集群来存储和搜索数据。每个节点都有一个节点名字,以及所属集群的名字。

  5. 集群:同样集群名的节点将组合为ES集群,用来联合完成数据的存储和搜索。默认的集群名字是elasticsearch。

  6. Shards(分区)和Replicas(复制):每个Index理论上都可以包含大量的数据,超过了单个节点的存储限制,而且单个节点处理那么大的数据,将明显限制存储和搜索性能,为了解决这个问题,ES会进一步将Index在物理上细分为多个分区,而且这些分区会按照配置赋值到多个节点,Index的分区称为主分区,复制的分区称为复制分区,这样的好处是保证数据不丢失,且提高了查询性能。

Windows下ElasticSearch环境安装

  1. 下载ElasticSearch

进入ElasticSearch官网: https://www.elastic.co/downloads/elasticsearch,下载windows版安装包zip,下载当前最新的版本 6.4.0的。

  2. 安装ElasticSearch之前确认系统已经安装了JDK1.8以上的版本,ElasticSearch的运行依赖JDK语言环境,解压安装包到指定的目录,此处我放在C盘。

  3. 启动elasticsearch:进入安装目录C:\elasticsearch-6.4.0\bin执行elasticsearch.bat,正确启用后显示如下:

浏览器中打开正常显示:

  4. 安装ElasticSearch-head插件

Elasticsearch Head是一款集群管理、数据可视化、增删改查、查询语句可视化工具。

    4.1 elasticsearch-head插件依赖node环境,所以我们还得先安装node环境:

进去官网https://nodejs.org/en/download/ 下载Windows版安装包,此处下载的是最新版8.11.4,默认安装,一直next.

安装完成后dos窗口输入 node –v 命令验证一下是正确安装:

    4.2 安装grunt构建工具:安装grunt工具的作用是通过该工具来气功head插件

在dos窗口进入node安装目录,通过npm命令来安装grunt:npm install -g grunt-cli, 安装完成后通过grunt –version显示版本号则正常安装

    4.3 安装elasticsearch-head插件

 进入github地址下载插件https://github.com/mobz/elasticsearch-head,此处我将安装包解压到C:\elasticsearch-head-master

修改服务器监听地址: 修改C:\elasticsearch-head-master目录下Gruntfile.js文件,增加hostname属性增加 hostname:’*’ 配置

修改head连接elasticsearch的地址:修改C:\elasticsearch-head-master\_site目录下的app.js文件,将localhost修改为es的IP地址

把localhost修改成elasticsearch服务器地址,如:114.aaa.bb.cc:9200,我这边做的是本机测试,所以不用修改,就使用localhost。

修改一下elasticsearch配置文件:编辑C:\elasticsearch-6.4.0\config/elasticsearch.yml文件,增加如下两行配置

安装heah插件:

  在dos窗口切换到C:\elasticsearch-head-master目录下执行npm命令: npm install,这个过程我安装的时候耗时比较久。

访问浏览器,正常显示如下:

OK,到此需要安装的软件已经安装完全了,需要注意的是必须在elasticsearch-head目录下启动服务才能成功,因为grunt工具会读取目录下的Gruntfile.js文件中的配置,另外elasticsearch和elasticsearch-head插件都是前台启动,如果终端即dos窗口关闭,那么elasticsearch和head服务也会随之停止服务。

 

 

参考:《Spring Boot2 精髓》-- 李家智

posted @ 2018-09-06 16:32  互联网荒漠  阅读(1596)  评论(2编辑  收藏  举报