首页>资讯 > 综合资讯 > 正文

【ES三周年】高效搜索引擎ElasticSearch介绍

来源:腾讯云    2023-02-21 20:13:07

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

关键词: 搜索引擎 Apache

【ES三周年】高效搜索引擎ElasticSearch介绍

官网:https: www elastic co cn products elasticsearch

短讯!餐谋汇·沈阳餐饮大咖聚享会:乘势抖音生活服务,餐饮品牌如何一路狂飙?

2023年,各地迎来了久违的人间烟火气。随着消费回暖,餐饮行业如何快速复苏?广大餐饮人急需一场“头脑风暴”,参谋出一条餐饮品牌进击之路,

今日热搜:镇赉县:全力推动秸秆饲料化产业发展

近年来,镇赉县抢抓我省“秸秆变肉”暨千万头肉牛建设工程机遇和“三双一旅”产业发展战略,制定出台了《镇赉县“十四五”时期肉牛产业高质量

今日眼皮上长白色的小皮屑图片_眼皮上长白色的小皮屑

1、桃花癣称为单纯糠疹。2、或者面部或四肢出现不规则的硬块,上面覆盖一层灰白色的鳞屑,这就是单纯性糠疹。3、用黄瓜皮或黄

天天短讯!沈阳公布500个试点社区名单!老年人可享受这些免费服务!

快来看看△资料图片政府购买的服务项目有哪些?本年度政府购买居家养老服务项目包括5项理发、助浴、制作老年餐、室内清洁、起居照料老年人该如

打造工业设计创新高地 黄岩启动建设“浙东南工业设计小镇”

新民晚报讯(记者毛丽君)建设浙东南工业设计小镇,黄岩志在必行。2月19日,浙东南工业设计小镇启动暨工业4 0创新高峰论

天天热头条丨辽阳:三场招聘活动提供就业岗位1856个

求职者在企业展台前详细了解岗位情况、薪资待遇、填写求职信息;工作人员为没有找到合适工作的求职者登记求职信息,建立求职信息库……连日来,

天天最资讯丨不误农时!农业技术下沉基层 湖南全力保障春耕备耕生产

不误农时不误春。连日来,湖南各地春耕备耕正在紧张有序展开,农业技术部门下沉基层,加大对农户的支持力度,采取多种方式保障春耕备耕生产。

“不要眼眶一红就觉得人间不值得…”这堂心理课,火了!

近日,云南昆明中学心理老师给同学们分享心得“除了生病以外,你感受到的痛苦都是你的价值观给你带来的,而非真实存在的。不要因为眼眶一红,

世界要闻:如何设置psa4纸的尺寸

总结:1。首先打开电脑,进入电脑界面,找到要操作的PS软件。然后选择PS并输入。2 进入ps后,显示主页面,然后点击左上

新民市与世界500强企业中国交建达成战略合作

2月20日,新民市政府与中交第二航务工程局有限公司举行了战略合作签约仪式。此次双方合作的项目均为构建城乡融合基础设施体系和推进生态振兴的

信用卡还不上逾期200天最坏结果是什么?信用卡还不起坐牢了出来还用还吗?

信用卡还不上逾期200天最坏结果是什么?最坏的结果就是坐牢,而且欠的钱依旧需要还清。不过因为信用卡逾期而坐牢的情况还是较少的,除非持卡

信用卡被停卡了怎么恢复使用?信用卡停卡的原因是什么?

信用卡被停卡了怎么恢复使用?信用卡逾期停卡,恢复使用的步骤如下:用户需要先结清逾期的欠款;之后主动联系发卡银行,申请解除卡片的停卡状

信用卡逾期利息会一直滚下去吗?信用卡逾期利息可以减免吗?

信用卡逾期利息会一直滚下去吗?有可能会,因为大多数银行信用卡逾期后都是按日计算利息的,逾期的时间越长那么产生的利息肯定也会越多的,

环球头条:奋进的春天 | 出政策抓项目 夺取“开门红”

新年新作为,各地铆足干劲、开足马力、创新提质、赋能产业,为高质量发展注入新动能。激发创新活力,释放发展动能,新年开局各地积极作为。浙

信用卡逾期协商还款需要什么证明材料的?信用卡逾期协商不通怎么办?

信用卡逾期协商还款需要什么证明材料的?1、经济困难证明。打印一份困难证明,写好个人、家庭情况,如果是农村居民,就找当地的村委会盖章,

信用卡逾期超3个月怎么协商?信用卡逾期3个月会被起诉吗?

信用卡逾期超3个月怎么协商?信用卡逾期超过3个月,用户应该主动联系银行,告知银行逾期的原因,并且申请协商还款。在进行协商时,如果能提

环球快报:本溪开展春耕备耕农作物种子市场执法检查

为规范种子经营秩序,提高种子质量,保证春耕生产农民用种安全,日前,本溪市农业综合行政执法队对市区种子市场供需情况和启动情况进行执法检

当前滚动:大连:治理农村生活污水改善人居环境

新春伊始,大连金普新区生态环境分局管辖的农村生活污水治理设施施工现场一派繁忙景象。截至目前,已完成13个行政村的农村生活污水处理设施建

畅游辽宁、欢聚沈阳,沈阳实施旅游业三年“倍增”行动

3月底,“中德经典电影之夜音乐会”将拉开序幕;4月底,北陵公园将举行第七届花朝节;“五一”期间,沈阳世博园将举办花卉展……2月20日,记者从

【天天热闻】方大集团北方重工开启抢占磨煤机制高点新征程

2月20日,从印尼苏南30万千瓦机组火力发电厂建设现场传来消息,由北方重工提供的12台风扇磨煤机,因质量上乘而安装顺利,从而保障了电厂今年6

热点在线丨“10元游”消费券掀起本地游小高潮

“10元游”动物园看熊猫、“10元游”故宫观福展,2023年辽宁省(沈阳)助企惠民旅游消费券推出的两款“10元游”消费券,成为近期沈阳旅游市场的

出行灵活机动 一嗨租车站内取还让出游更便捷

高铁+租车出行模式,已成为当下人们出行的新选择,也是年轻用户外出游玩的首选。近日,一嗨租车位于文山砚山机场的全新门店开门迎客,支持

当前观察:墨天轮发布数据库行业报告 亚信科技AntDB“超融合+流式实时数仓”开启新纪元

近日,知名数据库社区墨天轮发布《2022中国数据库行业年度分析报告》,亚信科技全新发布的“超融合+流式实时数仓”数据库AntDB入选报告并被业

焦点热文:吉林广播电视台2023年部门预算公布

2023年2月21日,吉林广播电视台发布《吉林广播电视台2023年部门预算》,特此公示。内容详情,可点击文末链接查询。吉林广播电视台2023年部门预

信用卡如何协商还款?信用卡实在还不上怎么办?

信用卡如何协商还款?1 主动联系银行协商还款:信用卡逾期后,银行不会主动联系持卡人,只会通过短信或电话收款。因此,持卡人要想协商还款,

信用卡逾期被起诉怎样撤诉?信用卡被起诉了还能协商吗?

信用卡逾期被起诉怎样撤诉?被信用卡被起诉的撤销方法:1、信用卡逾期被起诉,想要撤销起诉,就应当立即与发卡行进行协商,归还信用卡透支额

信用卡逾期三个月怎么还?信用卡逾期15天有事吗?

信用卡逾期三个月怎么还?1、信用卡持卡者逾期时间超过三个月的话,持卡者是可以先还清一部分欠款,然后联系发卡银行告知其自己想要还款的强

协商延期还款怎么收费?信用卡还款宽限期有利息吗?

协商延期还款怎么收费?1、信用卡办延期还款收费,信用卡延期还款有手续费。延期还款办理后第一期偿还手续费,最后一期偿还本金。2、其中单

信用卡逾期后跟银行协商有什么技巧?信用卡协商还款银行不同意我该怎么办?

信用卡逾期后跟银行协商有什么技巧?1 与工作人员沟通时,语气要尽量真诚谦虚,表明自己愿意还款,而不是恶意欠款。2 银行也可能在提出需要

综合资讯

+更多

热点资讯

+更多
股票涨停的前兆是什么?股票涨停意味着什么?
股票涨停的前兆是什么?【1】出现重大利好,指那些有利于持股的好消息可刺激股民买入股票,使持有股票的人更有利益可得,比如公司重组成功, [详细]

Copyright @ 2008-2020  www.43710.com   All Right Reserved Powered by 财经情报网 版权所有

财经情报网   联系邮箱:562 66 29@qq.com

网站备案:沪ICP备2020036824号-12