ElasticSearch学习笔记(一)—了解及装配

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 最近在接触ElasticSearch,对于没接触这部分的人来说,ES算是一种新模式的中间件出现在我们的眼前—一个webapp提供restful接口进行操作数据的中间件。以前认为引用一些中间件,要么是一个jar或者多个jar包。比如shiro之类,或者就是一个单独的应用,比如MQ,Nosql之类。所以很好奇他的体系会是什么样的一个体系。

前言:



最近在接触ElasticSearch,对于没接触这部分的人来说,ES算是一种新模式的中间件出现在我们的眼前—一个webapp提供restful接口进行操作数据的中间件。以前认为引用一些中间件,要么是一个jar或者多个jar包。比如shiro之类,或者就是一个单独的应用,比如MQ,Nosql之类。所以很好奇他的体系会是什么样的一个体系。


什么是ElasticSearch?



百度百科:


ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。


简而言之:


ElasticSearch就是在Lucene基础上进行封装,拓展成一个功能更强大的分布式搜索引擎(webapp),可以通过restful风格的http的请求方法实现一些想做的事情。

什么是Lucene?


百度百科:


Lucene是一个开放源代码的全文检索引擎工具包,但它不是一个完整的全文检索引擎,而是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎,部分文本分析引擎(英文与德文两种西方语言)。Lucene的目的是为软件开发人员提供一个简单易用的工具包,以方便的在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。Lucene提供了一个简单却强大的应用程式接口,能够做全文索引和搜寻。在Java开发环境里Lucene是一个成熟的免费开源工具。就其本身而言,Lucene是当前以及最近几年最受欢迎的免费Java信息检索程序库。人们经常提到信息检索程序库,虽然与搜索引擎有关,但不应该将信息检索程序库与搜索引擎相混淆。


简而言之:


Lucene就是java的一个工具包,里面主要包括搜索的方法和算法,而不在意文本或者数据的来源和储藏,重在处理过程,重在方法。


ElasticSearch主要应用场景:搜索



Lucene就是为搜索而生,而ElasticSearch当然也是主要应用在搜索领域,但概括来说有一下几个特点:


  1. 分布式:ElasticSearch自身就支持分布式,而相似基于Lucene而成的solr是基于zookeeper集群的分布式。分布式的优点当然就是能够处理海量数据。提高可用性。
  2. 有和Lucene一样实时处理速度速度。而solr实时性表现就比较差了。
  3. 开箱即用。有良好的文件支持和api规范。
  4. 集成插件,ElasticSearch强大需要集成一系列插件,比如Kibana可视化管理,IK中文分词器等等。
  5. 跨平台,都能用http方式操作了,当然和平台没关系。根据每个平台的规则发送请求就可以。可能有的对json或者其他支持不好的也有第三方的封装包可用。
  6. 海量数据的存储,对数据权限不太重要的一些可以一定程度的替代Nosql.


但是也有一些缺点,比如吃内存,插件对版本一致性要求较高。


实战安装:



  1. 官方下载地址,但是建议先看完后面在下。一般


2019031518530795.png


如果做日志就下前三个,成为ELK,我目前还没用到第三个,所以下了前两个。


  1. 还有一个重要的插件是IK中文分词。github有下载地址,但是你要在首页看到版本对应关系,不然会ES会闪退。


20190315185642388.png


  1. ES和kibana解压到文件夹即可,但是中文分词器需要放到固定的位置,ES下plugins里面新建ik然后解压即可。


20190315185924286.png


4.先打开es下bin,es启动的脚本。http://localhost:9200/ ,如果有json一串,说明es成功,如果es启动失败,查看log文件下内容。


20190315190308218.png


4. 如果上面成功,打开kibana目录下bin的启动脚本。打开 http://localhost:5601 ,如果有界面,说明就成功了,kibana是es的可视化管理界面,功能强大,操作方便。


20190315190532653.png


好了,es的基础组件就安装好了,下面就可以使用这些东西慢慢学习es的精髓了。


相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
目录
相关文章
|
3月前
|
SQL JSON API
ELK技术栈 - Elasticsearch 学习笔记(三)
ELK技术栈 - Elasticsearch 学习笔记(三)
41 0
|
3月前
|
存储 JSON API
ELK技术栈 - Elasticsearch 学习笔记(二)
ELK技术栈 - Elasticsearch 学习笔记(二)
206 0
|
3月前
|
存储 SQL JSON
ELK技术栈 - Elasticsearch 学习笔记(一)
ELK技术栈 - Elasticsearch 学习笔记(一)
181 0
|
5月前
|
JSON 自然语言处理 开发工具
elasticsearch7.X学习笔记
elasticsearch7.X学习笔记
|
5月前
|
JSON 自然语言处理 负载均衡
数据库-Elasticsearch进阶学习笔记(集群、故障、扩容、简繁体、拼音等)
数据库-Elasticsearch进阶学习笔记(集群、故障、扩容、简繁体、拼音等)
57 0
|
5月前
|
自然语言处理 搜索推荐 算法
数据库-Elasticsearch进阶学习笔记(分片、映射、分词器、即时搜索、全文搜索等)
数据库-Elasticsearch进阶学习笔记(分片、映射、分词器、即时搜索、全文搜索等)
143 0
|
5月前
|
运维 监控 搜索推荐
数据库-ElasticSearch学习笔记
数据库-ElasticSearch学习笔记
43 0
|
6月前
|
存储 搜索推荐 Java
Elasticsearch的配置学习笔记
Elasticsearch是一个基于Lucene的搜索服务器。它提供一个分布式多用户能力的全文搜索引擎,基于RESTful web接口,Elasticsearch是用Java语言开发的。
41 0
|
10月前
|
BI 索引
ElasticSearch学习笔记(九) 聚合查询之Metric
Elasticsearch的Metric聚合主要用于统计在某个字段中的最大、最小、平均数、和、标准差等数值型数据统计指标。下面让我们详细介绍Metric聚合的使用方法,并给出一个完整的示例。
117 0
|
10月前
|
数据挖掘 BI 定位技术
ElasticSearch学习笔记(八) 聚合之Bucket详解
Elasticsearch 聚合(Aggregation)是 Elasticsearch 中用于处理搜索结果的重要工具之一。它可以帮助我们对搜索结果进行各种数据统计和分析,以便更好地理解搜索结果数据的特征和趋势。
136 2

热门文章

最新文章