ElasticSearch学习笔记(一):什么是ElasticSearch

一、什么是搜索

        搜索,就是在任何场景下,找寻你想要的信息,这个时候,会输入一段你要搜索的关键字,然后就期望找到这个关键字相关的有些信息。

二、什么是全文检索、倒排索引和Lucene

  • 全文检索:一种将文件中所有文本与检索项匹配的文字资料检索方法。
      全文检索是计算机程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置。当用户查询时根据建立的索引查找,类似于通过字典的检索字表查字的过程。全文检索系统是按照全文检索理论建立起来的用于提供全文检索服务的软件系统。
      功能上全文检索系统需要具有建立索引,处理查询返回结果集,增加索引,优化索引结构等功能。结构上具有索引引擎,查询引擎,文本分析引擎和对外接口等。
  • 倒排索引:倒排索引源于实际应用中需要根据属性的值来查找记录。这种索引表中的每一项都包括一个属性值和具有该属性值的各记录的地址。由于不是由记录来确定属性值,而是由属性值来确定记录的位置,因而称为倒排索引(inverted index)。带有倒排索引的文件我们称为倒排索引文件,简称倒排文件(inverted file)。
  • Lucene:lucene,就是一个jar包,里面包含了封装好的各种建立倒排索引,以及进行搜索的代码,包括各种算法。我们在java开发的时候,引入lucene jar,然后基于lucene的api进行去进行开发就可以了。用lucene,我们就可以去将已有的数据建立索引,lucene会在本地磁盘上面,给我们组织索引的数据结构。另外的话,我们也可以用lucene提供的一些功能和api来针对磁盘上的数据。

三、什么是ElasticSearch

        Lucene一般是单机的,如果数据量比较大,一台机器储存不下的时候,这个时候需要借助ElasticSearch,ElasticSearch是在Lucene的基础上创建的分布式搜索工具,索引可以创建在多个机器上,每台机器都是一个Lucene节点。ElasticSearch会帮助我们建立高性能的索引,以及如何进行查询。
ElasticSearch主要有以下特性:

  1. 自动维护数据在多个节点上的索引的建立,还有搜索请求分不到多个节点的执行。
  2. 自动维护数据的冗余副本,保证说,一些机器宕机了,不会丢失任何的数据。
  3. 封装了更多的高级功能,以给我们提供更多高级的支持,让我们快速的开发应用,开发更加复杂的应用,复杂的搜索功能,聚合分析的功能,以及基于地理的搜索。

参考资料:中华石杉

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值