【ES三周年】高效搜索引擎ElasticSearch介绍|环球今亮点
ElasticSearch
简介
官网:https://www.elastic.co/cn/products/elasticsearch
(资料图)
特点:
高速、扩展性、最相关的搜索结果。分布式 - 节点对外表现对等,每个节点都可以作为入门,加入节点自动负载均衡。JSON - 输入输出格式是 JSON。Restful 风格,一切 API 都遵循 Rest 原则,容易上手。近实时搜索,数据更新在 Elasticsearch 中几乎是完全同步的,数据检索近乎实时。安装方便 - 没有其它依赖,下载后安装很方便,简单修改几个参数就可以搭建集群。支持超大数据:可以扩展到 PB 级别的结构化和非结构化数据。■Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。
■Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elasticsearch用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
■Elasticsearch 还是高扩展、高实时的搜索与数据分析引擎。它能很方便的使大量数据具有搜索、分析和探索的能力。充分利用Elasticsearch的水平伸缩性,能使数据在生产环境变得更有价值。
ElasticSearch信息概览
什么是index,type,doc
■index:索引是文档(Document)的容器,是一类文档的集合,可以理解成我们常用的mysql中的数据库。
■Type 可以理解成mysql中的表。
■Document Index 里面单条的记录称为Document(文档)。等同于mysql中的一行数据。
建库,建表,建字段
■建库脚本
PUT http://127.0.0.1:9200/cunw-share-es-index
就这么一个请求就可以建成一个以cunw-share-es-index为库名的ES数据库索引库;
■建表脚本,建字段
PUT http://127.0.0.1:9200/cunw-share-es-index/sanbu/1
PUT http://127.0.0.1:9200/cunw-share-es-index/sanbu/1{ "name":"大哥", "sex": "男", "hight":"180", "date":"2022-01-01", "info":"Hello World"}
索引基本创建完成。
什么是mapping
■mapping 是用来定义文档及其字段的存储方式、索引方式的手段,例如利用mapping 来定义以下内容:哪些字段需要被定义为全文检索类型;哪些字段包含number、date类型等格式化时间格式;自定义规则,用于控制动态添加字段的映射。
■mapping是一种简单的数据类型,例如text、keyword、integer、double、boolean、long、date、ip类型。也可以是一种分层的json对象(支持属性嵌套)。也可以是一些不常用的特殊类型,例如geo_point、geo_shape、completion。
■针对同一字段支持多种字段类型可以更好地满足我们的搜索需求,例如一个string类型的字段可以设置为text来支持全文检索,与此同时也可以让这个字段拥有keyword类型来做排序和聚合,另外我们也可以为字段单独配置分词方式,例如"analyzer": "ik_max_word"。从某种意义上来讲,就是表字段类型,int,varchar,date...
为什么要用mapping
提出疑问,修改一个字段的类型:
{ "sanbu": { "properties": { "hight": { "type": "integer" } } }}
为什么不能修改一个字段的type?原因是一个字段的类型修改以后,那么该字段的所有数据都需要重新索引。Elasticsearch底层使用的是lucene库,字段类型修改以后索引和搜索要涉及分词方式等操作。
ElasticSearch 分片,副本
■数据分片:
简单来讲就是咱们在ES中所有数据的文件块,也是数据的最小单元块,整个ES集群的核心就是对所有分片的分布、索引、负载、路由等达到惊人的速度。
实列场景:
假设 IndexA 有2个分片,我们向 IndexA 中插入10条数据 (10个文档),那么这10条数据会尽可能平均的分为5条存储在第一个分片,剩下的5条会存储在另一个分片中。说白了:数据分片其实类似主流关系型数据库的表分区(分表)的概念有点类似。这样的好处是可以把一个大的索引拆分成多个,分布到不同的节点上。构成分布式搜索要注意的是分片的数量只能在索引创建前指定,并且索引创建后不能更改。
分片数量设置计算公式:
分片个数是越多越好,还是越少越好了?根据整个索引的数据量来判断。SN(分片数) = IS(索引大小) / 30,当然也要根据能够给ES分配资源的实际情况而定夺。
■数据副本
副本是主分片的拷贝,es可以设置多个索引的副本,副本的作用一是提高系统的容错性,当某个节点某个分片损坏或丢失时可以从副本中恢复。二是提高es的查询效率,es会自动对搜索请求进行负载均衡。副本分片数,可以动态的修改。增加副本数,还可以在一定程度上提高服务的可用性(读取的吞吐)。
■设置分配,副本脚本代码
PUT /index { "settings":{ "number_of_shards" : 3, //指 这个index主分片分布在3个节点上 "number_of_replicas":1 //指 每一个主分片都有一个副本 } }
■查询写法
es中的查询请求有两种方式,一种是简易版的查询,另外一种是使用JSON完整的请求体,叫做结构化查询(DSL)。由于DSL查询更为直观也更为简易,所以大都使用这种方式。DSL查询是POST过去一个json,由于post的请求是json格式的,所以存在很多灵活性,也有很多形式。
最基本的查询语句,查询所有数据值得注意的是,在请求之前一定确保它是正确的Json。
{ "query": { "match_all": {} }}
查询过滤条件关键字
■查询关键字的用法match,term,wildcard,range....
1.match 通过单词字面意思理解是匹配的意思,顾名思义如果匹配到其中的任意字词就会命中,其实就是通过ES默认的ik分词器去做分词查询。
{ "query": { "match": { "name":软" } }}
2.term 如果匹配到其中所有字词才会命中。
{ "query": { "match": { "name":"软" } }}
3.wildcard 用法类似mysql的like,注意这里的通配符是*
{ "query": { "match": { "name":"*软*" } }}
4.range 看到这个词就会想到区间,它的用法类似于mysql的between ..and ..
{ "query": { "range": { "height":{ "gt": "150", "lt": "170" } } }}
update,delete语句
■ 根据ID进行单个更新
POST /index/type/_id/_update{ "doc" : { "publish_date" :"2021-11-10", }}
■ 根据ID进行单个删除
DELETE /index/type/_id
Elastic 有一条完整的产品线 ELK - Elasticsearch、Logstash、Kibana,前面说的三个就是常说的 ELK 技术栈(开源实时日志分析平台)。Logstash 的作用就是一个数据收集器,将各种格式各种渠道的数据通过它收集解析之后格式化输出到 Elastic Search ,最后再由 Kibana 提供的比较友好的 Web 界面进行汇总、分析、搜索。ELK 内部实际就是个管道结构,数据从Logstash 到 Elastic Search 再到 Kibana 做可视化展示。这三个组件各自也可以单独使用,比如 Logstash 不仅可以将数据输出到 Elastic Search ,也可以到数据库、缓存等。
关于ES的内容还有很多东西等着我们,搭建、分词器、集群、节点角色分配、冷热分离、读写分离等等,后续我们再输出相关详细内容。
Kibana
简介
Kibana 是 Elastic Stack 成员之一,它是一个基于 Node.js 的 Elasticsearch 索引库数据统计工具,可以利用 Elasticsearch 的聚合功能,生成各种图表,如柱形图,线状图,饼;而且还提供了操作 Elasticsearch 索引数据的控制台,并且提供了一定的 API 提示。您可以使用 Kibana 对 Elasticsearch 索引中的数据进行搜索、查看、交互操作。您可以很方便地利用图表、表格及地图对数据进行多元化的分析和呈现。
Kibana 可以使大数据通俗易懂。它很简单,基于浏览器的界面便于您快速创建和分享动态数据仪表板来追踪 Elasticsearch 的实时数据变化。
搭建
搭建 Kibana 非常简单。可以分分钟完成 Kibana 的安装并开始探索 Elasticsearch 的索引数据 ——— 没有代码、不需要额外的基础设施。当前我们公司使用的版本是 5.5.1。
常用模块
■ Discover
Discover 主要是做索引查询,功能非常强大。从发现页可以交互地探索ES的数据。可以访问与所选索引模式相匹配的每一个索引中的每一个文档。可以提交搜索查询、筛选搜索结果和查看文档数据。还可以看到匹配搜索查询和获取字段值统计的文档的数量。如果一个时间字段被配置为所选择的索引模式,则文档的分布随着时间的推移显示在页面顶部的直方图中。
■ Visualize
视图展示,支持许多风格。可视化能使你创造你的 Elasticsearch 指标数据的可视化。然后你可以建立仪表板显示相关的可视化。Kibana 的可视化是基于 Elasticsearch 查询。通过一系列的 Elasticsearch聚合提取和处理您的数据,您可以创建图表显示你需要知道的关于趋势,峰值和骤降。您可以从搜索保存的搜索中创建可视化或从一个新的搜索查询开始。
■ Dashboard
图表展示,一个仪表板显示Kibana保存的一系列可视化。你可以 根据需要安排和调整可视化,并保存仪表盘,可以被加载和共享。
■ Timelion
Timelion 是一个时间序列数据的可视化功能,可以结合在一个单一的可视化完全独立的数据源。它是由一个简单的表达式语言驱动的,你用来检索时间序列数据,进行计算,找出复杂的问题的答案,并可视化的结果。这个功能由一系列的功能函数组成,同样的查询的结果,也可以通过 Dashboard 显示查看。
■ Dev Tools
其实就是一个控制台,可以直接使用 DSL语法来直接操作es中的数据,使用户方便地通过浏览器直接与 Elasticsearch 进行交互。
使用
■ 搜索、查看并可视化 Elasticsearch 中所索引的数据,并通过创建柱状图、饼状图、表格、直方图和地图对数据进行分析。仪表板视图能将这些可视化元素集中到一起,然后通过浏览器加以分享,以提供有关海量数据的实时分析视图,为下列用例提供支持:
a:日志处理和分析
b:基础设施指标和容器监测
c:应用程序性能监测 (APM)
d:地理空间数据分析和可视化
e:安全分析
f:业务分析
■ 借助网络界面来监测和管理 Elastic Stack 实例并确保实例的安全。
■ 针对基于 Elastic Stack 开发的内置解决方案(面向可观测性、安全和企业搜索应用程序),将其访问权限集中到一起
如何使用
使用 Discover 搜索栏进行搜索。使用 Dev Tools 的 Console 直接与 Elastcsearch 进行交互 。DSL语法
■ 查询所有
■ 查询特定的字段,按照指定字段排序
■ 查询指定字段的日志
■ 分页查询所有的日志
本人就职于公司大数据组,正好近期我在公司分享了关于ES、Kiban和机器学习的一些知识,总结出本文献给大家。
-
2022-09-15 14:23:06
杨莉娜租借加盟巴黎圣日耳曼 与姆巴佩梅西拉莫斯一起共事<
北京时间9月13日下午,法甲女足俱乐部巴黎圣日耳曼正式官宣中国女足国脚杨莉娜完成租借加盟,合同期至2023年6月。杨莉娜成为目前国家队中第
-
2022-02-07 14:57:45
奇迹!绝杀!女足亚洲杯逆转夺冠!<
刚刚,中国女足上演逆转绝杀奇迹!她们在亚洲杯决赛中3:2力克韩国队,时隔16年再夺亚洲杯冠军!
-
2022-02-07 14:57:45
中国政府与阿根廷共和国政府签署共建“一带一路”谅解备忘录<
新华社北京2月6日电(记者安蓓)国家发展改革委6日称,国家发展改革委主任何立峰与阿根廷外交、国际贸易和宗教事
-
2022-02-07 14:57:43
中华人民共和国和阿根廷共和国关于深化中阿全面战略伙伴关系的联合声明(全文)<
新华社北京2月6日电中华人民共和国和阿根廷共和国关于深化中阿全面战略伙伴关系的联合声明一、应中方邀请,阿根廷
-
2022-02-07 14:57:40
春节假期国内旅游出游2.51亿人次<
春节遇冬奥,旅游年味浓。根据文化和旅游部数据中心测算,2022年春节假期7天,全国国内旅游出游2 51亿人次,同比
-
2023-09-09 13:56:46
骑马与砍杀战团npc组合mod(骑马与砍杀战团npc组合)
骑马与砍杀战团npc组合mod,骑马与砍杀战团npc组合这个很多人还不知道,
-
2023-09-09 12:09:28
油价越涨,美元越高?
油价越涨,美元越高?,沙特,原油价格,美元指数,国际油价
-
2023-09-09 10:22:54
保险科技十年百人评选启动,找寻保险科技最重要的力量!
保观|聚焦保险创新如果说十年是一个轮回,那中国保险科技行业的发展,
-
2023-09-09 08:57:28
刘和平:美乌“憋大招”,乌克兰真正大反攻要来了?
直新闻:我们看到,美国在犹豫了一段时间之后,终于步英国后尘,向乌军
-
2023-09-09 07:05:13
3-0横扫日本伊藤美诚,3-0碾压日本平野美宇,陈幸同打爆2位强敌
以3-2艰难逆转穆克吉之后,陈幸同在女单1 8决赛,迎来老对手平野美宇。
-
2023-09-09 02:23:45
股票行情快报:熵基科技(301330)9月8日主力资金净卖出224.56万元
截至2023年9月8日收盘,熵基科技(301330)报收于33 7元,上涨0 3%,换手
-
2023-09-08 21:56:04
70多位家属一起报警,国家真的有必要来一场严打了!
70多位家属一起报警,国家真的有必要来一场严打了!,报警,黑恶势力,犯
-
2023-09-08 18:47:28
郑氏点银:黄金缓慢反弹关注1930上,原油88下谨防修正
郑氏点银:黄金缓慢反弹关注1930上,原油88下谨防修正回顾昨日行情走势
-
2023-09-08 17:48:39
这条路上我们一起走歌词走伴奏(这条路上我们一起走歌词)
1、牵着手一起走2、演唱:小臭臭卢齐炜3、词曲:泰歌4、推广:朱军亮5
-
2023-09-08 16:49:26
蓝英装备涨20.00%
蓝英装备涨20 00%
-
2023-09-08 15:21:23
不锈钢蜂窝阳极管之特点与应用
在当今现代工业领域,不锈钢材料的应用十分广泛,而不锈钢蜂窝阳极管作
-
2023-09-08 14:12:28
年终旺季+季节性户外运动同启 eBay运动户外品类持续热销
每年的年终旺季时值季节的重要转换,具有较强季节性的户外运动将在第四
-
2023-09-08 12:58:41
一心堂(002727.SZ):股东阮鸿献先生进行股票质押式回购交易延期
2023年9月7日晚,一心堂(002727 SZ)发布关于公司股东阮鸿献先生进行股
-
2023-09-08 11:37:38
《星空》游戏发布 知名游戏工作室绘制贺图
《星空》游戏已于9月6日正式发布,这是贝塞斯达时隔多年推出的新IP。该
-
2023-09-08 10:39:08
7月至12月,河北开展高校毕业生等青年就业服务攻坚行动
日前,省人社厅印发《关于开展2023年河北省高校毕业生等青年就业服务攻
-
2023-09-08 10:01:41
官方:湖人正式与小斯科蒂-皮蓬等4名球员签下Exhibit-10合同
官方:湖人正式与小斯科蒂-皮蓬等4名球员签下Exhibit-10合同,湖人,夏联
-
2023-09-01 10:47:08
两部门:降低存量首套房房贷利率
中国人民银行、金融监管总局8月31日联合发布《关于降低存量首套住房贷
-
2023-09-01 09:49:46
AI监管呼声再起!美国前众议长佩洛西:AI是把“双刃剑”
美国前众议院议长南希·佩洛西表示,快速发展的人工智能领域需要监管护
-
2023-09-01 07:47:30
中航光电08月31日被深股通减持1.47万股
08月31日,中航光电被深股通减持1 47万股,最新持股量为1082 61万股,
-
2023-09-01 06:10:34
8月制造业PMI升至49.7%
8月制造业PMI升至49 7%(主题)中工网北京8月31日电(工人日报-中工网
-
2023-09-01 01:53:20
尿酮体阳性是什么病(尿酮体阳性是什么意思)
您好,现在汉格来为大家解答以上的问题。尿酮体阳性是什么病,尿酮体阳
-
2023-08-31 21:59:17
药物毒理学--生殖毒性(关于药物毒理学--生殖毒性简述)
,你们好,今天0471房产来聊聊一篇物毒理学--生殖毒性,物毒理学--生殖
-
2023-08-31 20:39:07
【魅力鹰城·种业芯片篇】昔日贡品张良姜 今成群众致富姜
2023年8月31日《平顶山晚报》2版□平报融媒记者胡耀华文 图“冬吃萝卜
-
2023-08-31 19:12:32
维持原判!江某莲自诉林某侮辱、诽谤上诉一案二审宣判
8月31日,福建省南平市中级人民法院依法对江某莲自诉林某侮辱、诽谤上
-
2023-08-31 18:03:45
GPLP投融资:阿维塔科技获30亿元 福碳科技获1亿元
作者:李东耳阿维塔科技完成B轮30亿元融资阿维塔科技近日完成B轮30亿元
-
2023-08-31 16:57:26
大哥大传奇好玩吗 大哥大传奇玩法简介
期待已久的手游大哥大传奇即将登陆九游,这款手机游戏吸引了大批玩家的
-
2023-08-31 15:32:32
全国城市一刻钟便民生活圈典型案例发布 重庆三个社区入选
近日,商务部发布亮点突出、创新性强、有借鉴意义的60个全国城市一刻钟
-
2023-08-31 14:26:08
哈尔滨市公安局“三个聚焦”全面推进反诈宣传
哈尔滨市公安局以打造反诈防诈宣传新阵地为切入点,牢固树立“以宣促安
-
2023-08-31 13:02:58
实现下一代车载信息娱乐系统
Posted07 20 2023byMarkHoopes,DirectorofAutomotive&IndustrialSegmen
-
2023-08-31 11:33:28
午评:A股又跌了,还能看反弹吗?听听老手怎么说
不得不说确实非常的闹心,A股今天上午收盘又是全线飘绿的状态,三大
-
骑马与砍杀战团npc组合mod(骑马与砍杀战团npc组合)
2023-09-09 13:56:46 -
油价越涨,美元越高?
2023-09-09 12:09:28 -
保险科技十年百人评选启动,找寻保险科技最重要的力量!
2023-09-09 10:22:54 -
刘和平:美乌“憋大招”,乌克兰真正大反攻要来了?
2023-09-09 08:57:28 -
3-0横扫日本伊藤美诚,3-0碾压日本平野美宇,陈幸同打爆2位强敌
2023-09-09 07:05:13 -
股票行情快报:熵基科技(301330)9月8日主力资金净卖出224.56万元
2023-09-09 02:23:45 -
70多位家属一起报警,国家真的有必要来一场严打了!
2023-09-08 21:56:04