搜索引擎Elasticsearch,了解一下?
Posted ashleyboy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了搜索引擎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.0in执行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.0config/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 精髓》-- 李家智
以上是关于搜索引擎Elasticsearch,了解一下?的主要内容,如果未能解决你的问题,请参考以下文章