环球滚动:【ES三周年】高效搜索引擎ElasticSearch介绍
腾讯云 2023-02-20 23:05:33

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和机器学习的一些知识,总结出本文献给大家。

环球滚动:【ES三周年】高效搜索引擎ElasticSearch介绍

2023-02-20 23:05:33

新华全媒+|一颗香菇看信心 环球速看

2023-02-20 20:16:27

天天微动态丨皇冠电器形象片正式发布;执注43载 倔强不改

2023-02-20 18:10:24

看过来!2023年金山这里的民生实事项目公布! 新要闻

2023-02-20 15:57:48

世界微资讯!2023年河北“春招”大会举办 初步就业意向率42.8%

2023-02-20 14:03:30

淘宝店铺可以转让吗?_淘宝店铺可以转让吗 世界滚动

2023-02-20 11:51:39

怎么测试网络速度?如何知道网速实际是多少?

2023-01-31 14:31:07

乐事薯片推出迷你洗手指机配备Type-C接口可以反复充电 限量5台只送不卖

2022-08-15 15:52:04

充错话费被充到了别人手机上 该“维权”怎么办?

2022-07-07 11:43:53

Redmi Note 11T系列将采用LCD旗舰直屏 重振LCD荣光

2022-05-20 16:21:48

工信部:支持制造业优质企业成长壮大 加快推进电子证照

2022-03-19 13:35:15

中国电信2021年实现净利润259.5亿元

2022-03-19 13:31:00

荣耀赵明:未来几年都不会进入汽车领域

2022-03-19 13:30:00

IDC:2021年中国IT安全硬件市场规模达到37.7亿美元

2022-03-19 13:23:30

字节跳动全资入股长顺新声科技 涉及企业管理咨询

2022-03-19 13:22:34

阅读过大年 商务印书馆发布1月十大好书

2022-01-11 09:57:40

如何推动普通高中高质量发展?教育部详解

2022-01-11 09:57:40

教育部印发《普通高中学校办学质量评价指南》 含18项关键指标

2022-01-11 09:57:38

交通银行试点长三角区域抵押登记“跨省通办”

2022-01-11 09:57:38

2022年“文化进万家——视频直播家乡年”活动正式启动

2022-01-11 09:57:37

2022-02-11 14:56:06

2022-02-11 14:56:06

2022-02-11 14:56:06

2022-02-11 14:56:06

2022-02-11 14:56:06

国家发改委:春节和北京冬奥会期间重要民生商品价格将保持平稳运行

2022-01-11 09:57:33

2022-01-29 14:26:59

国家发改委:西安重点生活物资配送“最后一米”问题正加快解决

2022-01-11 09:57:31

人民热评:刘鑫被依法惩处,正义没有缺席!

2022-01-11 09:57:31

专访:RCEP将有力促进区域经济疫后复苏——访泰国商业部贸易谈判司司长奥拉蒙

2022-01-11 09:57:29

综述:英国累计新冠死亡病例超15万例 未来面临“艰难几周”

2022-01-11 09:57:29

如何实现工业废水高效循环利用?专家:聚焦重点分类施策

2022-01-11 09:57:28

2022-01-29 14:26:59

2022-01-29 14:26:59

2022-01-29 14:26:59

2022-01-29 14:26:46

杨国豪当选福建省厦门市人大常委会主任 黄文辉当选福建省厦门市市长

2022-01-11 09:57:25

2022-01-29 14:26:46

交通运输部:支持浙江建设共同富裕示范区 探索加快建设交通强国省域范例

2022-01-11 09:57:24

2021年我国民航完成固定资产投资1150亿元 超额完成年度投资目标

2022-01-11 09:57:23

比利时多位人士表达对北京冬奥会的支持

2022-01-11 09:57:23

2021年我国民航行业出台一揽子促发展措施 全年降成本近100亿元

2022-01-11 09:57:21

于学利当选辽宁省沈阳市政协主席

2022-01-11 09:57:21

2022-01-29 14:26:46

2021年我国民航运输航空实现持续安全飞行9876万小时

2022-01-11 09:57:20

推动创新创业向纵深发展 国家发改委打算这样干

2022-01-11 09:57:19

2022-01-29 14:26:32

西安群众如何就医?记者带你去看看

2022-01-11 09:57:17

民航局对国航、厦航、南航等八个入境航班发出熔断指令

2022-01-11 09:57:17

天津:划定封控区 全市开展全员核酸检测

2022-01-11 09:57:16

积极落实防控措施 多地全力抗击疫情

2022-01-11 09:57:16

工信部:鼓励新能源与智能网联汽车等领域建设产品质量大数据公共服务平台

2022-01-11 09:57:14

2022-01-29 14:26:32

工信部:针对年轻及国外消费群体发展低度化白酒产品

2022-01-11 09:57:13

民航局:2022年力争完成旅客运输量5.7亿人次 实现行业整体扭亏增盈

2022-01-11 09:57:13

北航举行2021-2022学年研究生毕业典礼暨学位授予仪式

2022-01-11 09:57:12

斯里兰卡总统戈塔巴雅会见王毅

2022-01-11 09:57:12

文旅部公示首批国家级旅游休闲街区名单

2022-01-11 09:57:11

2022年国家公务员考试 明起可申请调剂

2022-01-11 09:57:11

2021年“扫黄打非”十大数据公布

2022-01-11 09:57:08

2021年“扫黄打非”十大案件公布

2022-01-11 09:57:08

2021年“扫黄打非”工作综述:举旗亮剑 激浊扬清

2022-01-11 09:57:06

交通运输部:将引导19.61亿元社会资金投入交通运输科技研发

2022-01-11 09:57:06

浦银理财有限责任公司获批开业

2022-01-11 09:57:05

家庭服务需求迎旺季 58到家推出“不打烊”春节保姆服务

2022-01-11 09:57:05

北京倡导市民群众在京过年非必要不出京

2022-01-11 09:57:04

2022-01-29 14:25:55

英雄联盟手游城市赛总决赛落幕

2022-01-11 09:57:00

巨型雪人亮相哈尔滨松花江畔

2022-01-11 09:57:00

深圳:疫情阻击进行时

2022-01-11 09:56:58

2022-01-29 14:25:55

2022年国家公务员考试笔试成绩和合格分数线公布

2022-01-11 09:56:56

21部门:推动形成“15分钟”养老服务圈

2022-01-11 09:56:56

增强供应链合作 电子烟产业布局海外

2022-01-11 09:56:55

2022-01-29 14:25:55

一所群育学校的爱与希望

2022-01-11 09:56:53

彭京堂少将任驻香港部队司令员

2022-01-11 09:56:53

人民网评:金色的盾牌,无悔的坚守

2022-01-11 09:56:51

数字政通:步入无人驾驶新赛道 与主线科技签署战略合作协议

2022-01-11 09:56:49

珠海高新区新政揽才 最高600万元住房补

2022-01-11 09:56:49

台胞在西安:“抗击疫情需要我们每一个人的力量”

2022-01-11 09:56:47

在京台生体验冰雪乐趣

2022-01-11 09:56:47

澳门未来发展有了新的时间表

2022-01-11 09:56:45

最高检:法治副校长应指导学校落实未成年人保护责任

2022-01-11 09:56:45

检察官担任法治副校长有了“指挥棒”

2022-01-11 09:56:44

全国首份《家庭教育令》来了!督促家长“依法带娃”

2022-01-11 09:56:44

俄军装甲车辆将具备隐身能力

2022-01-11 09:56:42

俄美双边对话 欧盟处境尴尬

2022-01-11 09:56:42

国资委:决战决胜国企改革三年行动 更好发挥国有经济战略支撑作用

2022-01-11 09:56:40

美海岸警卫队盯上濒海战斗舰

2022-01-11 09:56:40

证监会发布标准:统一金融行业对移动互联网应用程序的安全要求

2022-01-11 09:56:38

日本声称以电磁炮加强防御

2022-01-11 09:56:38

2022-01-29 14:25:17

江苏南京:上万块显示屏支撑征兵宣传

2022-01-11 09:56:36

2022-01-29 14:24:59

广东省汕头市组织军地海上联合搜救演练

2022-01-11 09:56:35

2022-01-29 14:24:59

山东省枣庄军分区组织两级首长机关野营拉练

2022-01-11 09:56:33

2022-01-29 14:24:59

83年后,“故乡土”撒在烈士墓前

2022-01-11 09:56:32

岛与岸的守望:你的岛,我的岸

2022-01-11 09:56:30

2022-01-29 14:24:59

愿你们也平平安安!这支MV献给人民警察

2022-01-11 09:56:29

集安组织将就哈局势举行视频峰会

2022-01-11 09:56:29

美俄新一轮战略稳定对话前景不容乐观

2022-01-11 09:56:27

我第12批赴南苏丹(瓦乌)维和医疗分队开展紧急救援演练

2022-01-11 09:56:27

第二轮第五批中央生态环境保护督察全面完成督察进驻工作 已受理有效举报9656件

2022-01-11 09:56:25

空军某旅组织实弹打靶训练

2022-01-11 09:56:25

江秋莲诉刘暖曦生命权纠纷案一审宣判

2022-01-11 09:56:22

2022-01-29 14:24:44

新疆军区某团侦察连官兵边关巡逻

2022-01-11 09:56:19

第78集团军某旅实战化演练设强对手设难情况

2022-01-11 09:56:19

军队医疗待遇保障新规定如期落地有序施行

2022-01-11 09:56:17

2022-01-29 14:24:44

2022-01-29 14:24:07

荣盛发展:2021年签约金额1345.58亿元 同比增长5.87%

2022-01-11 09:56:15

2022-01-29 14:24:07

2022-01-29 14:24:07

证监会发布《关于北京证券交易所上市公司转板的指导意见》

2022-01-11 09:56:12

2022-01-29 14:24:07

2022-01-29 14:24:07

奥密克戎高速传播 美国医疗物资供应无法满足病毒检测需求

2022-01-11 09:56:10

原住民控诉美政府在其家园进行“900次核试验”:这是种族清洗!

2022-01-11 09:56:09

2022-01-29 14:24:07

2022-01-29 14:23:52

2022-01-29 14:23:52

奥密克戎肆虐 美国公共服务受重创

2022-01-11 09:56:06

公安部1月10日举行新闻发布会

2022-01-11 09:56:06

詹姆斯·韦伯太空望远镜顺利“完全部署”

2022-01-11 09:56:04

日美联合委员会发布声明:驻日美军离开基地将仅限于必要活动

2022-01-11 09:56:04

致敬·选择

2022-01-11 09:56:03

《我们北京见》 来自55位世界冠军的邀约

2022-01-11 09:56:03

世界冠军进校园 小小少年感受运动乐趣

2022-01-11 09:56:00

2022-01-29 14:23:52

时政Vlog丨带你体验冬奥运动员的备战日常

2022-01-11 09:55:58

伊朗制裁51名参与暗杀高级将领苏莱曼尼的美国人

2022-01-11 09:55:58

今年要有序推动绿色低碳发展

2022-01-11 09:55:51

加强同乡村振兴有效衔接

2022-01-11 09:55:51

加强绿色合作 助力共同发展

2022-01-11 09:55:49

电力碳减排要开好局(点睛)

2022-01-11 09:55:49

风光互补 绿能满满

2022-01-11 09:55:47

推动能源转型 赋能绿色发展(经济聚焦·关注碳达峰碳中和)

2022-01-11 09:55:47

今日腊八:两乡侈各健,一粥喜遥同

2022-01-11 09:55:44

2021年生态环境领域8项约束性指标顺利完成

2022-01-11 09:55:44

欧盟推进塑料回收再利用

2022-01-11 09:55:42

国家植物园 让保护体系更完整(美丽中国)

2022-01-11 09:55:42

2022-01-29 14:23:20

借力外脑,河南打出农业工程技术创新“组合拳”

2022-01-11 09:55:39

2022-01-29 14:23:20

国家速滑馆“冰丝带”“超级大脑”上线

2022-01-11 09:55:37

2022-01-29 14:23:20

农田被淹、住宅停电、出行受阻……美国多地遭遇持续恶劣天气

2022-01-11 09:55:35

自动驾驶已“接单” 下一站开往大规模商业化

2022-01-11 09:55:34

2022-01-29 14:23:20

第四集《精兵作战 精兵制胜》

2022-01-11 09:55:31

科普专项行动让老年人跨越数字鸿沟

2022-01-11 09:55:31

令人身临其境 8K服务让北京冬奥会更精彩

2022-01-11 09:55:29

嫦娥五号探测数据显示:采样区一吨月壤约含一百二十克水

2022-01-11 09:55:29

太曲折!交给美军后丢失的男婴 找到了

2022-01-11 09:55:27

科技创新助力 渤海油田成为我国第一大原油生产基地

2022-01-11 09:55:27

全球新纪录!本体热效率达51.09%柴油机诞生

2022-01-11 09:55:26

2022-01-29 14:22:53

2022-01-29 14:22:53

山西古稀老人不灭的“花灯情”:让古老花灯焕发新魅力

2022-01-11 09:55:25

数字人民币越来越“香”

2022-01-11 09:55:24

PPP成稳增长重要抓手

2022-01-11 09:55:24

基金投顾需“投”“顾”齐发力

2022-01-11 09:55:19

保险业风险保障功能持续增强

2022-01-11 09:55:19

实体经济是产业互联网主角

2022-01-11 09:55:17

“云上奥运”更精彩

2022-01-11 09:55:17

“万物皆可盲盒”是伪命题

2022-01-11 09:55:15

喝腊八粥、泡腊八蒜…腊八节的打开方式有哪些?

2022-01-11 09:55:15