ElasticSearch简介

前言:
百事不决问百度,万事不决问谷歌!随着信息量,数据量越来越大的今天,如何从海量的数据中聚焦关注点,提高我们的工作、生活效率便显得非常的重要。而我们经常使用的百度等搜索引擎就能帮助我们从浩如烟海的数据中挖掘提取出自己的感兴趣的地方。是怎么做到的呢,就是需要全文索引的技术来完成,我们知道可以查询的有数据库,但是数据库中的数据量一大就会变的非常的缓慢,而且都是模糊查询,数据量有非常的巨大,二者比较矛盾,怎么办,提高数据库的查询我们可以建立索引。这样的就慢慢的诞生了一门技术叫做全文索引,以帮助我们检索的体验,早期的在 java 领域里面 lucene,后期有 compass,还有solr,到最新的 ElasticSearch(以下都称之为 ES)。ES 作为后来者,在全文检索领域里面有非常大的优势,本身就是一个分布式的玩意,和大数据联系紧密,所以咱们也就来学习新的技术。

ElasticSearch 是什么
Shay Banon 认为自己参与 Lucene 完全是一种偶然,当年他还是一个待业工程师,跟随自己的新婚妻子来到伦敦,妻子想在伦敦学习做一名厨师,而自己则想为妻子开发一个方便搜索菜谱的应用,所以才接触到 Lucene。直接使用 Lucene 构建搜索有很多问题,包含大量重复性的工作,所以 Shay 便在 Lucene的基础上不断地进行抽象,让 Java 程序嵌入搜索变得更容易,经过一段时间的打磨便诞生了他的第一个开源作品“Compass”,中文即“指南针”的意思。之后,Shay 找到了一份面对高性能分布式开发环境的新工作,在工作中他渐渐发现越来越需要一个易用的、高性能、实时、分布式搜索服务,于是他决定重写 Compass,将它一个库打造成了一个独立的server,并将其改名为 Elasticsearch。ElasticSearch 是一款基于 Apache Lucene 构建的开源搜索引擎,它采用 Java编写并使用 Lucene 构建索引、提供搜索功能,ElasticSearch 的目标是让全文搜索变得简单,开发者可以通过它简单明了的 RestFul API 轻松地实现搜索功能,而不必去面对 Lucene 的复杂性。ES 能够轻松的进行大规模的横向扩展,以支撑 PB 级的结构化和非结构化海量数据的处理。一言以蔽之:ElasticSearch 是一款基于 Lucene 的实时分布式搜索和分析引擎。
ElasticSearch 设计主要用于云计算中,能够达到实时搜索、稳定、可靠、快速,安装使用也非常方便。ES 的发展异常迅猛,下面是发展以及和 solr 简单的对比情况。
在这里插入图片描述
之前官网为 elasticsearch,太长了不便记忆了,就改为 elastic.co官网地址www.elastic.co

ES 和 SOLR 对比

接口
类似 webservice 的接口
REST 风格的访问接口

分布式存储
solrCloud solr4.x 才支持
es 是为分布式而生的

支持的格式
solr xml json
es json
近实时搜索

ES 和 MySQL 的对比
在这里插入图片描述
ElasticSearch 的安装配置
实际上 ES 的安装配置是非常简单的,没有繁琐的安装配置,可以称之为零配置,开箱即用。
说明一点:es 新版本的操作必须要在普通用户下面进行操作

ES 安装配置
下载地址
https://www.elastic.co/downloads/past-releases/elasticsearch-2-3-0或者再 github 官网 elastic 项目下载都可以下载到各个版本的 es https://github.com/elastic/elasticsearch

安装要求
JDK 版本最低 1.7
在这里插入图片描述
安装
同一个安装包既可以在 windows 下使用,也可以在 linux 下使用,我们这里就在 linux 下来操作。
opt]# pwd
/opt
opt]# unzip soft/elasticsearch-2.3.0.zip
 启动
opt]# cd elasticsearch-2.3.0/
opt]# bin/elasticsearch ---->前台启动
opt]# bin/elasticsearch -d ---->后台启动
 验证
访问 es 的安装服务器,http://<es_ip>:9200
在这里插入图片描述当页面出现这个状态的时候,就说明 es 安装成功了

配置文件说明
logging.yml
日志配置文件,es 也是使用 log4j 来记录日志的,所以 logging.yml 里的设置按普通 log4j 配置来设置就行了。
elasticsearch.yml
es 的基本配置文件,需要注意的是 key 和 value 的格式“:”之后需要一个空格。修改如下配置之后,就可以从别的机器上进行访问了
在这里插入图片描述
修改 cluster.name
在这里插入图片描述
修改 node.name
在这里插入图片描述
Transport.tcp.port:9300 设置节点间交互的 tcp 端口,默认为 9300

ES 集群安装配置
集群安装非常简单,只要节点同属于一个局域网同一网段,而且集群名称相同,ES 就会自动发现其他节点。伪分布,只要配置的 http.port 不一致都可以了;完全分布式不作要求。以伪分布为例说明。
拷贝 elasticsearch-2.3.0 到当前目录下:
在这里插入图片描述
主要配置项
elastaticsearch-2.3.0 节点一
cluster.name: bigdata
http.port: 9200
network.host: 0.0.0.0
elastaticsearch-s1 节点二
cluster.name: bigdata
http.port: 19200
network.host: 0.0.0.0
transport.tcp.port: 19300
elastaticsearch-s1 节点三
cluster.name: bigdata
http.port: 29200
network.host: 0.0.0.0
transport.tcp.port: 29300
配置完成之后启动三个 ES 节点
通过 ES 插件 elasticsearch-head 查看集群信息
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值