搜索引擎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. 概述 随着企业业务量的不断增大,业务数据随之增加,传统的基于关系型数据库的搜索已经不能满足需要. 在关系型数据库中搜索,只能支持简单的关键字搜索,做不到分词和统计的功能,而且当单表数据量到达上百 ...
随机推荐
- CDH升级 5.7.5 --> 5.13.3(tar包方式)
博客园首发,转载请注明出处:https://www.cnblogs.com/tzxxh/p/9123231.html 一.准备 1.关闭cdh中的服务 hdfs.yarn等所有服务:关闭 cm-ser ...
- ARM开发---Keil注册+JLink维修详解
在ARM开发中,经常使用的开发环境就是Keil uVision集成开发环境+JLink仿真器,本文就是就是介绍.总结使用该开发环境中遇到的问题,并在问题后方附上亲测可行的解决方法.如果各位看官在开发过 ...
- Python3中高阶函数lambda,filter,map,reduce,zip的详细用法
在Python里有五大高阶函数,他们分别是lambda()匿名函数,filter()筛选函数,map()函数,reduce()函数,zip()函数.下面就让我们来详细的了解一下这五种函数的具体用法吧. ...
- 数构与算法 | 什么是大 O 表示算法时间复杂度
正文: 开篇我们先思考这么一个问题:一台老式的 CPU 的计算机运行 O(n) 的程序,和一台速度提高的新式 CPU 的计算机运 O(n2) 的程序.谁的程运行效率高呢? 答案是前者优于后者.为什么呢 ...
- Asp.Net Core跨域配置
在没有设置跨域配置的时候,Ajax请求时会报以下错误 已拦截跨源请求:同源策略禁止读取位于 http://localhost:5000/Home/gettime 的远程资源.(原因:CORS 头缺少 ...
- # 20155224 2016-2017-2《Java程序设计》课程总结
20155224 2016-2017-2<Java程序设计>课程总结 每周作业链接汇总 预备作业1:我所期望的师生关系 预备作业2:我的技能与C语言学习 预备作业3:Linux的初步学习, ...
- 20155230 2016-2017-2 《Java程序设计》第四周学习总结
20155230 2016-2017-2 <Java程序设计>第四周学习总结 教材学习内容总结 1.使用extends进行扩充继承时private也会被继承但是子类不能在其中直接存取. 2 ...
- 20155313 实验二《Java面向对象程序设计》实验报告
20155313 实验二<Java面向对象程序设计>实验报告 一.实验内容 1. 初步掌握单元测试和TDD 2. 理解并掌握面向对象三要素:封装.继承.多态 3. 初步掌握UML建模 4. ...
- 20155328 《Java程序设计》 实验二(Java面向对象程序设计) 实验报告
20155328 <Java程序设计> 实验二(Java面向对象程序设计) 实验报告 单元测试 一.单元测试和TDD 编程时需理清思路,将编程需求等想好,再开始编.此部分可用伪代码实现. ...
- 【LG3231】[HNOI2013]消毒
题面 洛谷 题解 代码 \(100pts\) #include<iostream> #include<cstdio> #include<cstdlib> #incl ...