什么是搜索引擎(常用的信息检索平台)
在现在互联网如日中天的时代,即使你不是互联网行业的人,你也一定会用过谷歌或者百度。因为他们已经影响了我们生活的方方面面,为我们提供了很多的便利。那么在互联网行业的人我们除了使用它们,我们还迫切地想知道它们到底是怎么实现的。
以谷歌和百度为例子。它们都称之为搜索引擎。虽然听起来比较高大上。但实际上他们就是搜索数据用的。但站在数据方面考虑,实际上数据会分为两种:结构化数据和非结构化数据。结构化数据:简单来说,就是有固定格式固定长度的的数据。平常比较常见的例如Mysql、Oracle数据库等。非结构化数据:反之,就是无固定格式和长度的数据。例如比较常见的是:Email和文档数据。
按照这两种数据的划分,他们在搜索上也有很大的不同。结构化数据我们可以建立数据库索引来快速的搜索数据。而非结构化的数据搜索。我们主要有两种方式。一种是顺序扫描法,另一种是全文搜索法。下面我们详细介绍一下这两种的区别。顺序扫描法
顺序扫描法顾名思义,就是按照数据的顺序一步一步地找。找到一个然后就记录该位置。直到所有的数据都要扫描完,才知道要查找的内容都在哪些位置出现过。但这明显有相应的弊端。如果要查找的内容碰巧在数据的最后。那么该方法需要扫描所有的数据,但这之前扫描的数据均无效。这就造成了很大的资源浪费。
全⽂搜索法
既然我们已经知道顺序扫描法的弊端,那我们应该怎么进⾏优化呢?因为这样的数据是非结构化的数据。没有办法像结构化的数据做索引来达到快速检索的目的。那我们到底应该怎么办呢?答案很简单。逆向思维。既然非结构化的数据没办法做到,那我们把他们改成结构化的数据不就行了吗。这里改成结构化的数据,并不是将全部的数据都改成结构化。这样将毫无意义。而是将要搜索的内容按照某种方式,做成结构化的数据,然后将结构化的数据创建索引,接着我们在通过这些结构化的索引,来搜索相关非结构化的内容。这就是全⽂搜索的基本原理。
就像我们在淘宝搜索手机一样,淘宝并不会将所有的数据都按照结构化存储,而是将相应的关键字,按照结构化存储即可。这样当我们命中关键字时,就可以搜索出来我们想要内容。也正是因为这些,所以常常有些人在搜索的时候,喜欢输入很多的修饰词,适当的修饰词是可以准确地帮助我们,找到我们想要的内容,但如果修饰词过多的话,并不会达到我们想要的,因为他检索的本质是命中关键词。这也就是为什么有时我们搜索时,明明加了很多修饰词,居然和我们没有加修饰词搜索出来的内容是一样的原因。
所以谷歌和百度搜索引擎的基本原理就是:网络机器人或者网络蜘蛛通过扫描网页中的内容,提取出相应的关键词,然后为提取出的关键词建⽴索引,并记录该关键词在文章中位置,当用户搜索时,如果命中该关键词,搜索引擎就根据按照之前的索引进查找,这样可以很快的返回用户想要的数据内容。
下面我们介绍一下现在比较常见的搜索引擎,并介绍详细介绍一下它们之间的区别。
Lucene:它归属于Apache软件基金会。它是一个全文检索引擎工具包,所以它并不是一个全文检索引擎。既然是工具包,所以它提供了强大的API功能例如:可扩展的⾼高性能索引强⼤大,准确,⾼高效的搜索算法跨平台解决⽅方案
由于它只是一个全文检索引擎工具包,所以在使用时,需要我们自行编码。虽然现在也支持了多种语言,但最成熟的开源版本,还是Java。所以要想使用它,我们需要Java的编程基础。Solr:它是一个独立的企业级搜索应用服务器,Solr是基于Lucene的Java库构建的开源搜索平台。并提供了HTTP的方式,创建索引和查询数据。除此之外,它还提供了以下比较高级的功能:全⽂文搜索分⾯面搜索实时索引动态群集Elasticsearch:它也是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch也是用Java语言开发的。它和Solr一样,除了基本的数据检索功能外,也提供了以下高级的功能:分布式搜索数据分析分组和聚合
下面我们介绍一下,为什么会出现搜索引擎技术,而不是用传统的数据库去实现此功能。
我们知道如果采用传统的数据库,我们可能通过创建索引的方式,去优化我们的查询速度。并且,我们还知道,如果在数据量比较大的话,还可以采用分库分表的方式继续优化。那为什么还会出现类似Elasticsearch这样的搜索引擎技术呢?答案就像我上面介绍的那样。搜索引擎并不会将所有的数据全部按照结构化存储,而是按照相应的关键字存储。并且按照现在的网页数据,不同的网站,内容大不相同,如果采用结构化存储,那么在数据库设计上很难实现。除此之外,我们知道,在数据库中要想快速的查询数据,那么必须要创建相应的索引,但我们在使用SQL语法时,尝尝会因为我们使用不当,或者某些特定的方式,命中不到索引,这就导致使用数据库检索时,会比较慢。比较常见的就是。例如我们在数据库中搜索指定的关键字,并且该关键字的字段我们创建了索引,所以在搜索时,查询的速度很快,因为它命中了索引。但在实际的应用场景中,我们并不会正好输入的关键字就是数据库中存储的,而是采用的是模糊搜索的方式。而在数据库中要想使用模糊搜索,则要使用like关键字。但在使用like关键字时,则索引会失效。除此之外,我们在数据库中创建索引时,并不是越多越好。因为如果索引过多的话,则会影响inster和update的性能。所以,正是因为数据库有种种这样的原因,才会出现全文搜索引擎存在的必要。
下面我们介绍一下全文搜索引擎比较适合的应用场景都有哪些:
搜索数据比较大的非结构化数据。支持文本数据量达百万级别。支持交互式⽂文本的查询。对写需求比较少的需求,因为全文检索的核心目的就是查询。
以上内容就是本篇的全部内容,在接下来的文章中,我们将重点更新有关Elasticsearch相关的内容,欢迎大家支持,谢谢。
尼康d5200怎么样(尼康18200镜头怎么样)市场上种类繁多的相机,该如何选择,这是一直困扰住我们的事情。今天就和广大摄友分享相机的选择与理由,有不同意见的摄友欢迎在评论区说出您的意见,咱们一起交流。一相机购买前的思考我们购买
为什么显卡风扇不转(显卡风扇响怎么处理)今天有个小伙伴碰到个烦心事,那就是自己新买的GTX1080显卡风扇好像出了点问题,时转时不转,感觉很诡异。因为他自己玩游戏的时候非常注意电脑散热,并且也没有对这张显卡有什么暴力行径
大红酸枝(红木知识普及何谓大红酸枝?)大红酸枝(红木知识普及何谓大红酸枝?)大红酸枝,又称老挝大红酸枝,学名交趾黄檀,原产于中南半岛,即越南老挝泰国柬埔寨缅甸马来西亚(西部)和新加坡,主产于越南老挝柬埔寨和泰国。主要生
劲嘉龙园印象(广州丽园雅庭二手房价)劲嘉龙园印象(广州丽园雅庭二手房价)在别人都贪婪的时候冷静,在别人都冷静的时候可以贪婪。这是过去十年楼市最血淋淋的教训。今天聊聊过去20年里,购房者最容易犯的错误也就是病感觉贵再等
苹果7p怎么样(苹果7plus用起来怎么样)在经历8个Bate版,1个RC版后,iOS15正式版终于在昨天凌晨发布,而我手中的iphone7Plus也决定让他在退休前再升级一次。在升级之前,我用了好一阵子的iOS14。5,说
男生腿毛可以用脱毛膏吗脱毛膏是很多女生脱毛时会用到的工具,脱毛膏可以用来脱腿毛腋毛唇毛手臂毛等,女生对自己的形象比较在意,所以会将这些毛发都给脱掉,而男生大多还是不太在意的,不过近几年也有很多男生开始脱
房产经纪人好做吗(房地产找客源10个方法)房产经纪人好做吗(房地产找客源10个方法)原创房产说理老米20210408110313房产说理第243篇原创最近有个做房产中介公司老板牛总跟老米抱怨,今年招人太难了。牛老板的公司在
冠珠陶瓷怎么样(如何挑选冠珠陶瓷)众所周知,瓷砖是家装中用材最多的,也是占地面积最大,而且在无形中也是改变和衬托家装效果的关键所在,可是市场上那么多的瓷砖,到底该怎么选择还是一个难题,那么我们就来看看冠珠瓷砖怎么样
腰痛怎么办(缓解腰痛的6个简单动作)腰疼十分普遍,甚至已经成为跨越年龄的一种通病。国家卫健委有数据统计,中国有超过2亿人腰椎间盘出了问题,其中2040岁的年轻人占60以上。很多朋友低头工作低头玩手机,时间长了,胸椎曲
高效安眠药(长期依赖安眠药,这5个毒副作用,提前做好心理准备)高效安眠药(长期依赖安眠药,这5个毒副作用,提前做好心理准备)因为现在有很多人在生活上面临着非常大的压力,所以也就影响到自己的神经,让自己整天都处于一个精神高度紧张的状态,这样当然
安眠药吃多少会死(最温柔的死亡方法牙膏不痛)多年前,在社交网站上有人询问什么样的离世方法最好,没有任何痛苦?有人说跳楼也有人说服用安眠药在很多人眼中,安眠药应该是最没有痛苦的一种方式了吧,只需要服用过量的安眠药,然后在睡眠中
七十年代歌曲(70年,100首歌!)七十年代歌曲(70年,100首歌!)70年,100首歌时光伴着歌声走过哪些是你记忆中的时光曲1。义勇军进行曲田汉词聂耳曲2。保卫黄河(黄河大合唱选曲)光未然词冼星海曲3。中国人民解
九十年代电影(90年代搞笑电影推荐)九十年代电影(90年代搞笑电影推荐)上接第一部分1993年逃学威龙3龙过鸡年富家子弟王百万平日生活放荡在公寓内被杀,警方赶至发现案件有极大蹊跷。经调查后,王百万的样貌与周星星非常相
圆通首重多少(圆通快递续重怎么算)闽南网快递是网购最重要的一环,但我们常常也会为快递的速度感到烦恼,邮寄的运费虽不像顺丰那般昂贵,但又是多少?作为消费者,自然希望快递能够越快越好,不知道圆通快递速度快不快?而圆通快
申通快递查询单号查询速(申通快递查询单号查询追踪轨迹)申通快递查询单号查询速(申通快递查询单号查询追踪轨迹)现在收发快递都是非常平常的一件事情,有时候我们需要掌握快递的物流情况,该如何实现呢?下面小编用快递批量查询高手,以查询申通快递
鑫飞鸿快递查询(中国的十大物流公司)鑫飞鸿快递查询(中国的十大物流公司)这个太全了!转了转了!这个是好东西有需要的亲备份下来,这个必须转!!!强力推荐保存它。一,快递客服申通快递4008895543EMS400810
快递查询大全(中国所有快递公司)快递查询大全(中国所有快递公司)想要找一个可以自动识别快递物理单号的快递查询工具,只需要导入视频,就可以自动识别每一个快递单号所属的快递公司名称,发出物流的每一个时间的状态,且查询
全一快递怎么样(全一快递和圆通哪个快)每经记者王郁彪每经编辑陈剑锐不在沉默中爆发,就在沉默中灭亡。5月18日,速尔快递发布声明称,将宣布进入破产重组程序。进入破产程序,将有助于速尔快递摆脱历史负担,聚焦精力于主营业务的
上海地方小吃(上海20款最受欢迎的经典小吃美食)上海地方小吃(上海20款最受欢迎的经典小吃美食)上海,一个财富汇聚的商业中心,一个有着东方巴黎之称的魔幻大都市。这里不仅仅有高大上的米其林,更有许多极富烟火气息的市井美食。生煎小笼
M。BenzCLAClass到港现蹤令人引颈期盼一段时间的AClass兄弟之作CLAClass终于抵达台湾,低调的身影就如同先前脑海所想像和官网所释出的图片般,充满AClass的锐利风格并融合四门Coupe的基本精神
动感再升级M。BenzBClass导入B180B200汽柴油动力车型标配7GDCT双离合器7速自手排变速系统预计将于2012年3月底发表预购售价147178万元国内上市日期2012年第1季期待度全新改款BClass
跨界新指标M。BenzGLAConcept有着掀背车的动感气息拥有掀背车所没有的地形能力动静皆宜的211hp动力输出国外售价未定国外上市日期未定期待度近年来跨界风潮逐渐扩大,许多车厂纷纷发开类似产品,而跨界车型之所以受到欢