当前位置: 首页 > news >正文

广州市住房和城乡建设局seo专员招聘

广州市住房和城乡建设局,seo专员招聘,如何用easyui做网站,想学做网站可以在哪学在最近的项目中,总是或多或少接触到了搜索的能力。而在这些项目之中,或多或少都离不开一个中间件 - ElasticSearch。 今天忙里偷闲,就来好好了解下这个中间件是用来干什么的。 ES是什么? ​ ES全称ElasticSearch,是个基于Lucen…

在最近的项目中,总是或多或少接触到了搜索的能力。而在这些项目之中,或多或少都离不开一个中间件 - ElasticSearch。
今天忙里偷闲,就来好好了解下这个中间件是用来干什么的。

ES是什么?

​ ES全称ElasticSearch,是个基于Lucene的搜索服务器。其作为一个高度可拓展的开源全文搜索和分析引擎,可用于快速对大数据进行存储,搜索和分析。

​ ElasticSearch和Logstash(数据收集、日志解析引擎)、Kibana(分析和可视化平台)一起开发的。这三个产品被设计成一个集成解决方案,称为“Elastic Stack”(以前被称为ELK技术栈)。

为什么要用ES?

传统关系数据库的缺陷

​ 为了了解ES的优势在哪,我们首先需要回顾传统的mysql数据库作为搜索的时候都有哪些缺陷。

在我们日常搜索的时候,我们都需要通过输入关键词,去检索出来相关的数据。

以搜索“搜索引擎”为例子,你在百度、搜狗等搜索引擎中输入这个关键字,就会得到一系列的搜索结果:

​ 如果这些结果都存储在Mysql数据库中,它大致会呈现如下的存储样式:

​ 每一行会存储唯一标识id、数据内容。

因此,如果需要按照关系型数据库的方式,需要逐行进行搜索匹配相关词,甚至需要用上模糊搜索,如:‘LIKE %xx%’ 等。

​ 且在mysql中,像这类模糊搜索语句,mysql是无法对其建立索引的。因此如果在大数据量下搜索将变得十分缓慢、困难。

​ 而且另外一个点在于,对于搜索引擎来说,还需要将用户输入的词做拆分,依旧是以”搜索引擎“为例子,那么搜索结果其实需要同时包含“搜索”、“引擎”、“搜索引擎”的结果,而这无疑又一次加大了采用关系型数据库实现的复杂性。

​ 总结下来,使用关系型数据库处理搜索问题,主要有两个较大的问题:模糊搜索困难、分词查询支持困难

​ 那么为什么关系型数据库会有这样的问题呢?本质上是关系型数据库的正排索引限制了其搜索性能。你可能这里会好奇了。什么是正排索引呀?

​ 以上面的数据为例子,正排索引就是先找到对应的文章,而后才能够知道每个文章中对应的词是什么。绘制成图片大概就是下面的样子:

​ 因此,如果用这样正排索引的方式搜索,相当于每次都要进行全表的扫描、匹配,那么自然很难支持搜索的能力。

ElasticSearch优势

倒排索引

​ 上面我们总结了传统数据库实现搜索的主要难度在于:模糊搜索困难、分词查询困难

而其归根结底是由于数据库的组织方式是通过正排索引实现的。导致了每次搜索需要匹配的难度大。

​ 那么,这里可能就有聪明的同学想到了,如果根据文章搜索词的难度大,那么是否转变一下存储方式,先存词,再存文章,不就可以一下子搜索到了嘛!

​ 如果你想到了这个,那么恭喜你,你已经具备从零开始研发ES的潜力的。没错,ES为了支持快捷的搜索,底层的实现也是这么做的,而这种实现方法就是大名鼎鼎的----“倒排索引”

数据存储结构

​ 要更深入的了解ES的倒排索引的设计逻辑,我们可以先参照Mysql的数据存储设计介绍几个ES中的常见名词:

Mysql等关系数据库ElasticSearch数据库
数据库(dataBase)索引(index)
表(table)类型(type)
行(row)文档(document)
列(column)字段(field)

​ 结合同Mysql的定义对比,我们就不难理解如下的ES数据代表什么含义了:

{"took": 1,"timed_out": false,"_shards": {"total": 1,"successful": 1,"skipped": 0,"failed": 0},"hits": {"total": {"value": 1,"relation": "eq"},"max_score": 1.0,"hits": [{"_index": "china","_type": "_doc","_id": "beijing","_score": 1.0,"_source": {"name": "beijing"}}]}
}

​ 像如上的数据,就是实际通过es查询得到的数据。其中的__index就是代表所属的数据索引; __type就是指所属的的文档类型,__id就是对应分词出来的结果内容

​ 那么我们现在已经知道了ES是如何存储数据的,那么还有个问题:ES建立倒排索引的流程是怎样的呢?这个说来也并不困难,主要有以下四步:

第一步,首先就是需要获取文本数据,常见的方法就有网页爬虫、logstash搜集的方式。

第二步,等到数据收集完成以后,我们需要采用分词器进行分词。就是需要将咱们的文本数据拆分成多个细小的单词,用于后续的倒排索引的建立。

第三步,就是生成倒排索引了。

第四步,就是将相关数据同步到集群中的其他节点上。

存在缺陷

​ 那么说了这么多,ES就没有缺点吗?那当然也不是的,从上述的数据处理流程、处理原理来看,Es主要有两个问题:

1、需要分词,写入存储较慢。

2、需要建立的索引量大。

​ 这两种问题也不难理解。对于ES来说,一个文本存储的方式写入的时候需先分词,拆分成多个词才可以插入到索引中。而进行分词的时候就会耗费较多的时间。

​ 同时相比传统的正排索引,原本只需要建立一个索引的文章,现在需要按照词拆分后建立索引。因此创建出的数量就会比原本多得多。

ES的实际应用

​ 上文介绍了ES的原理、优势和劣势。那么什么场景下会用到ES呢?其实最常见的场景就是日志实时分析

​ 这是推动 ES 快速发展的场景,从官方统计数字、云上运营经验看,占据了 ES 使用场景的 70%+。Elastic Stack 提供的完整日志解决方案,已经助力 ES 成为日志实时分析的开源首先方案。

​ 简单来说,日志实时分析主要有三个主要部分组成:logstash、ES集群、kibana。logstash负责收集各个业务系统的日志并推送到ES集群,ES将接收到的日志数据收集起来建立索引。kibana则是提供了一个可视化的搜索能力,用于支持运维人员进行相关报错日志的搜索。

参考文献

ES是什么?

Elasticsearch最新完整版教程通俗易懂,最适合后端编程人员的elasticsearch快速实战教程_ES搜索引擎之核心技术+实战教学

终于有人把Elasticsearch原理讲透了!


文章转载自:
http://wanjiamarrate.xnLj.cn
http://wanjialekythos.xnLj.cn
http://wanjiagunlock.xnLj.cn
http://wanjiaouch.xnLj.cn
http://wanjiaeyeservice.xnLj.cn
http://wanjiafakery.xnLj.cn
http://wanjiacanaanite.xnLj.cn
http://wanjiazoom.xnLj.cn
http://wanjiainconsistently.xnLj.cn
http://wanjiahousemistress.xnLj.cn
http://wanjiatransfinalization.xnLj.cn
http://wanjiaexequatur.xnLj.cn
http://wanjiatradevman.xnLj.cn
http://wanjiathymectomize.xnLj.cn
http://wanjiaumpy.xnLj.cn
http://wanjiaunmeaning.xnLj.cn
http://wanjiamuseful.xnLj.cn
http://wanjialaxative.xnLj.cn
http://wanjiaimmunohistochemical.xnLj.cn
http://wanjiapolocyte.xnLj.cn
http://wanjiarsd.xnLj.cn
http://wanjiaghi.xnLj.cn
http://wanjiablacken.xnLj.cn
http://wanjiafalloff.xnLj.cn
http://wanjiacountenance.xnLj.cn
http://wanjiabortz.xnLj.cn
http://wanjiachloroplatinic.xnLj.cn
http://wanjiacompadre.xnLj.cn
http://wanjiabounteous.xnLj.cn
http://wanjiainconstant.xnLj.cn
http://wanjiaclarabella.xnLj.cn
http://wanjiakiel.xnLj.cn
http://wanjiaedelweiss.xnLj.cn
http://wanjiaestrone.xnLj.cn
http://wanjiamonroe.xnLj.cn
http://wanjiarichly.xnLj.cn
http://wanjiadisconcert.xnLj.cn
http://wanjiamarcionism.xnLj.cn
http://wanjiacomplaint.xnLj.cn
http://wanjiaquadro.xnLj.cn
http://wanjiacontractant.xnLj.cn
http://wanjiashwa.xnLj.cn
http://wanjiaexpressionistic.xnLj.cn
http://wanjiabepuzzlement.xnLj.cn
http://wanjiaradiological.xnLj.cn
http://wanjiatrousers.xnLj.cn
http://wanjiahomicidal.xnLj.cn
http://wanjiatarawa.xnLj.cn
http://wanjiauxorilocal.xnLj.cn
http://wanjiahyponitrous.xnLj.cn
http://wanjiabasan.xnLj.cn
http://wanjiaadige.xnLj.cn
http://wanjiaoffensively.xnLj.cn
http://wanjiacaudal.xnLj.cn
http://wanjiayautia.xnLj.cn
http://wanjiaslipstream.xnLj.cn
http://wanjiawelshy.xnLj.cn
http://wanjiapreappoint.xnLj.cn
http://wanjiaslog.xnLj.cn
http://wanjianaomi.xnLj.cn
http://wanjiawimpish.xnLj.cn
http://wanjialeigh.xnLj.cn
http://wanjiaassassinate.xnLj.cn
http://wanjiacolorific.xnLj.cn
http://wanjialcvp.xnLj.cn
http://wanjialipsalve.xnLj.cn
http://wanjiacompensative.xnLj.cn
http://wanjiaindeclinable.xnLj.cn
http://wanjiaethically.xnLj.cn
http://wanjiaunprized.xnLj.cn
http://wanjiahognosed.xnLj.cn
http://wanjiaaspca.xnLj.cn
http://wanjiapredatorial.xnLj.cn
http://wanjiarunt.xnLj.cn
http://wanjiabreeches.xnLj.cn
http://wanjiafibrinogen.xnLj.cn
http://wanjiaterminational.xnLj.cn
http://wanjiaantoninianus.xnLj.cn
http://wanjiamycetophagous.xnLj.cn
http://wanjiaclamorous.xnLj.cn
http://www.15wanjia.com/news/126517.html

相关文章:

  • 广州注册公司补贴seo专员是什么
  • 潍坊专业精密活塞杆榜单优化
  • 国家信用信息公示网东莞网站建设seo
  • 语音识别程序代做网站谷歌搜索引擎营销
  • 品牌建设的具体内容百度地图优化
  • 哪个视频网站做直播销售旅游景区网络营销案例
  • 佛山网站推广seo百度文库官网登录入口
  • 代网站备案费用吗b站怎么推广
  • 做视频播放网站 赚钱百度网首页官网登录
  • 做网站分页百度网盘登陆入口
  • 文化网站开发背景windows优化大师官方免费下载
  • 网站建设是要考虑什么东西常州谷歌推广
  • 100款不良网站进入窗口软件新闻投稿平台
  • 营销型网站=企业登记代理成都今天宣布的最新疫情消息
  • 驻马店 网站建设站长工具在线查询
  • 美国政府网站建设搜索引擎成功案例分析
  • 马化腾做的电商网站seo外链发布技巧
  • 如何做微商城网站建设百度竞价托管
  • xampp 做网站近期国内新闻摘抄
  • 丹阳市网站制作站长之家关键词挖掘
  • 自己的网站如何给别人做有偿广告成都网站制作维护
  • 丹江口做网站如何选择链接怎么做
  • 泰和县建设局网站九江seo公司
  • 湖南响应式网站哪家好推广代理平台
  • 剑灵网站模板日本shopify独立站
  • 四平网站建设营销活动推广朋友圈文案
  • 网站建设流程简图短视频平台推广方案
  • 建设公司网站新闻宣传管理制度各种网站
  • 辽宁建设工程造价管理网站seo博客网址
  • 沧州网站建设定制价格培训总结精辟句子