前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >快速掌握分布式搜索引擎ElasticSearch(一)

快速掌握分布式搜索引擎ElasticSearch(一)

作者头像
用户2890438
发布于 2018-12-11 08:59:31
发布于 2018-12-11 08:59:31
7640
举报

前言

由于最近在项目中接触使用到了ElasticSearch,从本篇博客开始将给大家分享这款风靡全球的产品。将涉及到ElasticSearch的安装、基础概念、基本用法、高级查询、中文分词器、与SpringBoot集成进行接口开发等相关知识。

ElasticSearch简述

如果大家接触过大数据的话,相信大家或多或少的听说过ELK。ELK是目前非常主流的用于网站监控,流量监控,日志监控,集中日志管理的一套解决方案。而ElasticSearch如同ELK的心脏一般,起到一个非常核心的作用。简单来说,Logstash通过把日志收集到ElasticSearch中,进行储存,kibana负责可视化的展现结果。

ELK

说白了,ElasticSearch就是一款大数据搜索引擎,那么在市面上还有哪些类似的产品呢?在Java开源界的话,主要就是Lucene、Solr和ElasticSearch了。

Lucene,Java领域的搜索引擎鼻祖,是一个比较底层的东西,需要深厚的搜索理论基础才可以掌握,比较复杂(它本身不是一个完整的解决方案,需要额外的开发工作)。因此,为了方便使用,屏蔽复杂性,Solr和ElasticSearch在lucene的基础上进行了二次开发。 Solr相比ElasticSearch而言拥有更加成熟的社区,比较稳定,但是随着数据量越来越大,对实时性要求越来越高,Solr的搜索效率在下降,而ElasticSearch却没有明显的变化。因此ElasticSearch非常适合实时搜索的应用。(比如大名鼎鼎的Github的站内实时搜索就在应用ES) 另外,由于ElasticSearch提供了简单易用的Restful API,轻松的横向扩展机制(说白了,可以通过加机器来扩展容量),能支持PB级别的结构化或非结构化数据处理,具有强大的分布式储存能力。

ElasticSearch的安装

安装比较简单,下载地址是: https://www.elastic.co/cn/downloads/elasticsearch 下载后直接解压,运行即可。

运行es

默认启动端口9200

查看es启动状态

注意上面的方式是单实例的安装,那么分布式安装呢? 其实,对于分布式安装,无非注意下面几个配置要点: 指明谁是master,谁是slave,集群的名字,节点启动的端口(特别是在同一台机器上模拟分布式)。

几个重要的基础概念

索引,含有相同属性的文档集合。 类型,索引可以定义一个或者多个类型,文档必须属于一个类型。 文档,文档是可以被索引的基本数据单位。

看起来,比较绕,我们用类比的思路来理解:

类比理解

索引相当于database,类型相当于table,文档相当于一条记录,文档Document是es里面最小的储存单位。需要注意的是索引在es中的名称必须是英文字母小写且不包含中划线。和索引相关的有2个高级概念,一个是分片,一个是备份。

分片:每个索引都有多个分片,每个分片是一个lucene索引。

备份:拷贝一个分片就完成了分片的备份。

假设索引的数据很大,就会造成硬盘的压力很大,同时搜索速度也会出现瓶颈。那么可以将索引分成多个分片,从而分摊压力。分片的同时,还可以允许用户进行水平扩展和拆分,进行分布式的储存,从而提高搜索的效率。 当一个主分片出现问题时,备份的分片可以代替工作,从而提高了es的可用性。 es在默认创建索引时,会创建5个分片,一个备份。

假设我们的es是一个master,2个slave,创建索引时,走的默认配置(5个分片,1个备份),那么图示如下:

分片和备份

图中标绿颜色的是主分片,其他是备份的分片。

创建ES索引、类型

本文前面提到es提供了简单易用的Restful API来操作索引/类型/文档,下面介绍下基本格式:

API基本格式  http://ip:port/索引/类型/文档id http常用方法 get/put/post/delete

下面,我们演示一下利用postman来创建一个索引和类型:

创建索引和类型

查询索引、类型信息

好了,本篇博客就介绍到这里,下一篇博客再来给大家介绍文档的增删改查操作等。

see u next time~

张丰哲

2018.11.10

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.11.10 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
67 条评论
热度
最新
请问如何取消文章同步,同步会有格式等各种问题,想自己编辑
请问如何取消文章同步,同步会有格式等各种问题,想自己编辑
222举报
好的,感谢反馈!这边会将您的账号取消文章同步哈,后续如果任何问题请联系助理号:yun_assistant
好的,感谢反馈!这边会将您的账号取消文章同步哈,后续如果任何问题请联系助理号:yun_assistant
回复回复点赞举报
您好,已暂定同步了,如果想再次同步,再次联系我们这边即可!
您好,已暂定同步了,如果想再次同步,再次联系我们这边即可!
回复回复点赞举报
强烈建议同步改为手动同步
强烈建议同步改为手动同步
111举报
您好,如果您这边想把自动同步改为手动同步,可以联系我们停止哟
您好,如果您这边想把自动同步改为手动同步,可以联系我们停止哟
回复回复点赞举报
请问怎么修改博客同步地址
请问怎么修改博客同步地址
111举报
您好,这边已将您的账号驳回,然后您再重新申请https://cloud.tencent.com/developer/support-plan填写新的同步地址,后续如果任何问题请联系助理号:yun_assistant
您好,这边已将您的账号驳回,然后您再重新申请https://cloud.tencent.com/developer/support-plan填写新的同步地址,后续如果任何问题请联系助理号:yun_assistant
回复回复点赞举报
好像现在不能同步了?
好像现在不能同步了?
回复回复1举报
在哪里兑换礼品
在哪里兑换礼品
11点赞举报
您好,请联系助理号兑换:yun_assistant
您好,请联系助理号兑换:yun_assistant
回复回复点赞举报
提交后,提示[9003]错误代码,说是专栏创建失败,怎么回事呢?
提交后,提示[9003]错误代码,说是专栏创建失败,怎么回事呢?
11点赞举报
请问解决了吗 我也是这个问题
请问解决了吗 我也是这个问题
回复回复点赞举报
我也发现了,文章已经很久没同步了
我也发现了,文章已经很久没同步了
回复回复点赞举报
官方不看评论区么?请问我算入驻了么?为什么没有同步?
官方不看评论区么?请问我算入驻了么?为什么没有同步?
回复回复点赞举报
腾讯周边礼物这个怎么领取
腾讯周边礼物这个怎么领取
1111点赞举报
搜索积分商城
搜索积分商城
回复回复点赞举报
您好,想问下是在哪里搜索呢
您好,想问下是在哪里搜索呢
回复回复点赞举报
查看全部11条回复
多个公众号的情况下,无法自主选择想要绑定的公众号
多个公众号的情况下,无法自主选择想要绑定的公众号
回复回复点赞举报
加载更多
推荐阅读
我加入腾讯云自媒体分享计划啦!
你是否因为写过了文章或者笔记在自己的博客,然后由于博客流量较少,每篇博文都只有几个浏览量?
用户8711264
2023/03/13
1.3K0
如何申请腾讯云自媒体分享计划申请
腾讯云自媒体分享计划是由腾讯云发起的为期一年的为广大自媒体扶持的计划,对于有10篇以上符合投稿要求原创技术文章的博主或微信公众号,提供各大技术社区及平台百万级流量支持、技术书籍、腾讯云周边礼品、线下技术沙龙及大会的门票、腾讯云新品内测试用体验、与开源项目大牛零距离接触、社区成长值激励、云服务器 CVM 代金券(有效期为3个月,使用条件:限新购、续费,适用付费类型:预付费) 该计划的扶持期限为一年,从扶持申请通过之日开始计算。扶持资源会在审核通过后发放到你的腾讯云账户 整个计划的操作流程也十分简单: 注册/登
京剧猫
2023/03/06
10.7K0
腾讯云自媒体分享计划
“腾讯云自媒体计划”是由腾讯云发起的为期一年的为广大自媒体扶持的计划,对于有 20 篇以上符合投稿要求原创技术文章的博主或微信公众号,提供各大技术社区及平台百万级流量支持、技术书籍、腾讯云周边礼品、线下技术沙龙及大会的门票、腾讯云新品内测试用体验、与开源项目大牛零距离接触、社区成长值激励、云服务器 CVM 代金券(有效期为3个月,使用条件:限新购、续费,适用付费类型:预付费)。
十月梦想
2018/08/29
3.1K0
腾讯云自媒体分享计划
腾讯云自媒体分享计划——自媒体作者福音
“腾讯云自媒体计划”是由腾讯云发起的为期一年的为广大自媒体扶持的计划,对于有 20 篇以上符合投稿要求原创技术文章的博主或微信公众号,提供各大技术社区及平台百万级流量支持、技术书籍、腾讯云周边礼品、线下技术沙龙及大会的门票、腾讯云新品内测试用体验、与开源项目大牛零距离接触、社区成长值激励、云服务器 CVM 代金券(有效期为3个月,使用条件:限新购、续费,适用付费类型:预付费)。
神无月
2018/05/11
4.7K6
腾讯云自媒体分享计划——自媒体作者福音
腾讯云自媒体分享计划——自媒体作者福音
腾讯云自媒体分享计划 “腾讯云自媒体计划”是由腾讯云发起的为期一年的为广大自媒体扶持的计划,对于有 20 篇以上符合投稿要求原创技术文章的博主或微信公众号,提供各大技术社区及平台百万级流量支持、技术书
神无月
2018/06/25
2.1K0
关于加入腾讯云自媒体分享计划
你是否因为写过了文章或者笔记在自己的博客,然后由于博客流量较少,每篇博文都只有几个浏览量?是否还在为续费博客服务器产生的高昂的服务器费用续费而在发愁?
白黎
2023/03/09
2.5K0
关于加入腾讯云自媒体分享计划
腾讯云原创分享计划常见问题
A:「腾讯云原创分享计划」是腾讯云+社区为引入更多优质原创内容,打造技术影响力而推出的原创激励计划。只要你有原创优质技术内容,就可以申请加入该计划。
腾讯云开发者社区
2018/05/02
4.8K7
腾讯云原创分享计划常见问题
入驻有礼丨公众号/博客快速搬家(内含福利)
腾讯云开发者公众号年度重磅福利:新用户入驻腾讯云开发者社区享腾厂周边、权益福利,流量扶持!老用户推荐他人入驻赢键鼠、IP礼盒、纪念公仔、服务器代金券!
腾讯云开发者
2023/11/16
4440
入驻有礼丨公众号/博客快速搬家(内含福利)
公众号/博客快速搬家:新邀入驻腾讯云开发者社区,福利多多!
为吸引更多优质作者加入腾讯云自媒体同步曝光计划,为社区带来更多新鲜力量。腾讯云开发者社区将对邀请新用户入驻社区的作者带来更多的福利活动。 一、入驻有礼 腾讯
腾讯云开发者社区
2020/07/08
24.3K3
加入腾讯云自媒体分享计划 入驻腾讯云+社区
现在这个时代已经是自媒体时代了,而且人人都是自媒体。从微信公众号,到今日头条等等,但是这个时代,如果不是当事人,能了解到的最多是“事实”,而非“真相”,世界上并不存在真正的“感同身受”。对于现在还在写博客的人,感觉已经是一片自留地了吧,有吐槽生活的,也有记录工作的,写日志的,写技术的,大有人在
陌涛
2019/05/21
2.8K0
原创分享计划2025年4月特别激励活动
腾讯云开发者社区是腾讯云面向开发者打造的技术交流型社区,每月有1200W 用户访问社区学习技术、解决问题。为鼓励更多优质技术内容的输出与沉淀,社区面向腾讯员工发
腾讯云开发者社区
2025/04/02
3231
原创分享计划11月特别激励活动
腾讯云开发者社区是腾讯云面向开发者打造的技术交流型社区,每月有1200W 用户访问社区学习技术、解决问题。为鼓励更多优质技术内容的输出与沉淀,社区面向腾讯员工发
腾讯云开发者社区
2024/11/04
4571
申请参加腾讯云自媒体分享计划,送代金券+一年CN域名
本文最后更新于2021年8月4日,已超过1年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!
回忆大大
2023/03/08
3K0
申请参加腾讯云自媒体分享计划,送代金券+一年CN域名
原创分享计划特别激励活动
激励活动汇总 原创分享计划2025年4月特别激励活动(进行中) 原创分享计划2025年3月特别激励活动(已结束) 原创分享计划2025年2月特别激励活动(已结束
腾讯云开发者社区
2020/04/28
3.6K5
原创分享计划特别激励活动
原创分享计划4月特别激励活动
腾讯云开发者社区是腾讯云面向开发者打造的技术交流型社区,每月有1200W 用户访问社区学习技术、解决问题。为鼓励更多优质技术内容的输出与沉淀,社区面向腾讯员工发
腾讯云开发者社区
2024/04/01
4750
原创分享计划4月特别激励活动
原创分享计划10月特别激励活动
腾讯云开发者社区是腾讯云面向开发者打造的技术交流型社区,每月有1200W 用户访问社区学习技术、解决问题。为鼓励更多优质技术内容的输出与沉淀,社区面向腾讯员工发
腾讯云开发者社区
2024/10/09
3600
腾讯云开发者社区有奖招募技术作者(原创分享计划福利升级公告)
云+社区是腾讯云面向开发者的官方技术交流社区,为鼓励更多优质技术内容的输出与沉淀,于去年内测了原创分享计划。启动计划一年以来,仅面向腾讯员工及定向邀请用户申请,目前已经有超过千名腾讯内部作者在云+社区稳定输出优质技术内容。
腾讯云开发者社区
2019/09/03
5.4K1
腾讯云开发者社区有奖招募技术作者(原创分享计划福利升级公告)
邀请好友加入自媒体分享计划活动规则
打开邀请好友加入自媒体分享计划链接:https://cloud.tencent.com/developer/support-plan-invitation,点击「邀请好友加入」按钮,登录腾讯云账号,即可出现全部邀请方式,包括专属海报邀请、QQ、新浪微博及专属邀请链接
腾讯云开发者社区
2018/03/15
5.9K8
邀请好友加入自媒体分享计划活动规则
腾讯云开发者社区联盟计划
云+社区是腾讯云官方的开发者社区,为了更好地连接开发者,促进技术的传播、分享与交流,现推出“联盟计划”, 与各技术社区、博客等技术交流平台一起,构建更好的中国开发者生态。联盟成员可以获得腾讯云的免费云计算资源用于网站的正常运营,同时各社区举办线下或者线上活动,将可获得云+社区的推广、礼品赞助以及直播资源。
腾讯云开发者社区
2019/05/14
5.6K2
腾讯云开发者社区联盟计划
自媒体作者评奖活动(12月)&11月获奖名单
为鼓励参与腾讯云自媒体分享计划的作者产出更多优质内容,为自媒体计划注入更多的新鲜力量。云+社区将试运行自媒体作者月度评奖活动(以下简称活动)。
腾讯云自媒体分享计划
2019/11/08
5.4K1
自媒体作者评奖活动(12月)&11月获奖名单
推荐阅读
相关推荐
我加入腾讯云自媒体分享计划啦!
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档