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

做导航网站不侵权吗国外企业档案馆网站的特色

做导航网站不侵权吗,国外企业档案馆网站的特色,免费发帖平台,教学网站开发应用方案在最近的项目中#xff0c;总是或多或少接触到了搜索的能力。而在这些项目之中#xff0c;或多或少都离不开一个中间件 - ElasticSearch。 今天忙里偷闲#xff0c;就来好好了解下这个中间件是用来干什么的。 ES是什么? ​ ES全称ElasticSearch#xff0c;是个基于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://www.pierceye.com/news/964725/

相关文章:

  • 怎么做网站视频教程做广告牌子
  • 合肥做网站公网站设网页设计
  • 罗田做网站凡科网小程序
  • 玻璃钢产品哪个网站做推广好.加强网站安全建设
  • 扬州公司网站建设网络建设与管理包括哪些方面
  • 我的网站域名福州网站的优化
  • 威海市网站建设微信在线登录平台
  • 2014网站设计成都网站设计合理柚v米科技
  • 建设自己网站需要多钱网站规划与设计就业
  • 用flash做的网站欣赏手机网站图片切换jquery
  • 昆明做网站seo网站推广策略什么时候
  • 网站添加 百度商桥wordpress 友情链接 代码
  • 一鸿建设设计网站百家号排名
  • 网站最新一次改版时间什么意思电商平台应该如何推广
  • 网站设计制作程序网站开发列表
  • 企业网站建设需要哪些费用做算法的网站
  • 很大气的网站 营销js特效网站展示
  • 南宁建站程序成都新线加网站建设
  • 用微软雅黑做网站可以吗wordpress游客发帖插件
  • 网站备案怎样提交管局网页电商设计
  • 郑州华恩科技做网站怎么样网络竞价推广托管公司
  • 都江堰住房和城乡建设厅网站哈尔滨网站建设方案维护
  • 九江网站网站建设原始传奇经典复古
  • 宽屏营销型网站源码安微省住房和城乡建设厅网站
  • 做暖视频网站免费搜索引擎营销的模式有
  • 网站建设需要的条件榆林北京网站建设
  • 分类信息网站推广的意义wordpress安装教程wamp
  • 免费自助建站全系统建设银行永泰支行网站
  • 建网络商城网站如何开公司做网站
  • 长春网站制作色块网站设计