搜索引擎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 精髓》-- 李家智
搜索引擎Elasticsearch,了解一下?的更多相关文章
- 搜索引擎 ElasticSearch 之 步步为营2 【基础概念】
在正式学习 ElasticSearch 之前,首先看一下 ElasticSearch 中的基本概念. 这些概念将在以后的章节中出现多次,所以花15分钟理解一下是非常值得的. 英文好的同学,请直接移步官 ...
- 搜索引擎 ElasticSearch 之 步步为营1 【环境搭建&初识ElasticSearch】
1.下载ElasticSearch a.下载Java环境JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloa ...
- 全文搜索引擎Elasticsearch入门实践
全文搜索引擎Elasticsearch入门实践 感谢阮一峰的网络日志全文搜索引擎 Elasticsearch 入门教程 安装 首先需要依赖Java环境.Elasticsearch官网https://w ...
- Spring Boot 全文搜索引擎 ElasticSearch
参考 全文搜索引擎ElasticSearch 还是Solr? - JaJian - 博客园
- 全文搜索引擎 Elasticsearch 入门
1. 百科 ElasticSearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开发的,并作 ...
- 3.高并发教程-基础篇-之分布式全文搜索引擎elasticsearch的搭建
高并发教程-基础篇-之分布式全文搜索引擎elasticsearch的搭建 如果大家看了我的上一篇<2.高并发教程-基础篇-之nginx+mysql实现负载均衡和读写分离>文章,如果能很好的 ...
- 搜索引擎elasticsearch + kibana + X-pack + IK安装部署
目录 准备安装环境 配置启动 启动elasticsearch 启动kibana 启用X-pack 安装使用IK 使用示例 官方Clients 准备安装环境 这次我们安装以下软件或插件: elastic ...
- 全文搜索引擎 Elasticsearch 安装
全文搜索引擎 Elasticsearch 安装 学习了:http://www.ruanyifeng.com/blog/2017/08/elasticsearch.html 拼音:https://www ...
- Laravel 之搜索引擎elasticsearch扩展Scout
简介 Laravel Scout 是针对Eloquent 模型开发的一个简单的,基于驱动的全文检索系统.Scout 使用模型观察者时会自动保持你的检索索引与你的 Eloquent 记录同步. 目前,S ...
- 分布式搜索引擎Elasticsearch在CentOS7中的安装
1. 概述 随着企业业务量的不断增大,业务数据随之增加,传统的基于关系型数据库的搜索已经不能满足需要. 在关系型数据库中搜索,只能支持简单的关键字搜索,做不到分词和统计的功能,而且当单表数据量到达上百 ...
随机推荐
- 2.5 USB摄像头驱动程序框架
学习目标:根据vivi驱动架构和linux-2.6.31/linux-2.6.31.14/drivers/media/video/uvc/Uvc_driver.c驱动源码,分析usb摄像头驱动程序框架 ...
- 利用python操作mrjob实例---wordcount
网上利用java实现mr操作实例相对较多,现将python实现mr操作实例---Wordcount分享如下: 在操作前,需要作如下准备: 1.确保linux系统里安装有python3.5,pyt ...
- 【非原创】ISBN码
#include<stdio.h>int main(void){ char a[14],mod[12]="0123456789X"; #include <stdi ...
- MySQL事务异常
在做大屏系统的时候,遇到十分奇怪的问题,同样的代码,测试环境插入与更新操作正常,但是上了生产环境之后,插入与更新不生效, 插入数据的时候,主键会自增,但是查询表中没有数据,同样一个@Transacti ...
- Go语言反射之值反射
1 概述 反射不仅可以获取值的类型信息,还可操作变量的值.使用 reflect.Value 类型操作变量的值. 2 值反射对象 reflect.ValueOf() 方法可以获取一个值的反射对象,之后可 ...
- 20155317 王新玮 2006-2007-2 《Java程序设计》第4周学习总结
20155317 王新玮 2006-2007-2 <Java程序设计>第4周学习总结 教材学习内容总结 第六章 继承共同行为 多个类中存在相同属性和行为时,将这些内容抽取到单独一个类中,那 ...
- NetWork——关于HTTP、HTTPS的知识总结
. )根据用户的当前的网络质量来判断下载什么质量的图片. 最后,如果觉得有所收获,请点下面的赞多多支持~谢谢各位
- day 8 递归
版本1) 求5!while # 5! = 5*4*3*2*1 # 4!= 4*3*2*1 i = 1 result = 1 while i <= 5: result = result * i ...
- ELKStack入门篇(三)之logstash收集日志写入redis
1.部署Redis 1.1.下载redis [root@linux-node2 ~]# wget http://download.redis.io/releases/redis-4.0.6.tar.g ...
- idea 单元测试 mybatis spring-test 异常: org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)
因为在idea中必须在test下才能进行单元测试,所以进行单元测试时,ssm的项目会因为找不到resourece中的配置文件而报错 这里 org.apache.ibatis.binding.Bindi ...