搜索引擎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. 概述 随着企业业务量的不断增大,业务数据随之增加,传统的基于关系型数据库的搜索已经不能满足需要. 在关系型数据库中搜索,只能支持简单的关键字搜索,做不到分词和统计的功能,而且当单表数据量到达上百 ...
随机推荐
- 在AI人工智能中如何巧妙学习大数据编程,成为五十万年薪的佼佼者
编辑 ai狗年 大数据和人工智能的关系,首先要说什么是大数据.这些年来,大数据先是被神化,继而又被妖魔化,到了今天,其实谁也不知道别人所谓的大数据指的是什么.我大数据从业者,建了一个大数据资源共享群1 ...
- BugFree后台统计Bug信息
以下为二维表信息 //统计严重等级Bug SELECT severity,count(severity) FROM `bf_bugview` where product_id=476 GROUP BY ...
- python获取网页编码问题(encoding和apparent_encoding)
在requests获取网页的编码格式时,有两种方式,而结果也不同,通常用apparent_encoding更合适 注:推荐一个大佬写的关于获取网页编码格式以及requests中text()和conte ...
- C++快速开发样本工程的建立--编写常用组件
在添加的main.h里面添加如下功能: 主要使用标准C++和boost,界面部分采用QT 1.运行目录环境 2.使用的字体 3.使用的样式 4.使用的主题
- dns欺骗之ettercap
ettercap是一个基于ARP地址欺骗方式的网络嗅探工具,主要适用于局域网. ettercap是一款现有流行的网络抓包软件,它利用计算机在局域网内进行通信的ARP协议的缺陷进行攻击,在目标与服务器之 ...
- Docker CPU Usage
背景 当一台机器上跑有多个 Docker Container 的时候,我们需要知道,哪些容器占用了多少资源.采集这些指标,来让我们可以更加好的分配资源给每个 Container. 获取容器CPU使用率 ...
- C的格式化输入输出
- 20155315 实验一《Java开发环境的熟悉》实验报告
实验一 Java开发环境的熟悉(Linux + IDEA) 实验内容 1.使用JDK编译.运行简单的Java程序: 2.使用IDEA编辑.编译.运行.调试Java程序. 实验要求 1.没有Linux基 ...
- 20155320 2016-2017-2《Java程序设计》第十二周课堂实践项目
20155320 2016-2017-2<Java程序设计>第十二周课堂实践项目 1.修改教材P98 Score2.java, 让执行结果数组填充是自己的学号: 2.在IDEA中以TDD的 ...
- 我与虚拟机的初次接触及初探Liux命令 20155338
初识虚拟机及学习Linux命令的些许收获 虚拟机的安装 这个假期算是第一次正式的接触了虚拟机,以前在平时生活中也有听到过,但是真正自己动手安装虚拟机却是第一次,确实是既紧张又兴奋. 我是依据老师所发的 ...