您当前的位置:首页 > 电脑百科 > 站长技术 > 搜索引擎

你了解搜索引擎吗

时间:2022-09-26 14:17:01  来源:今日头条  作者:dz菜园子

什么是全文搜索引擎?

常⽤的搜索⽹站,⽐如百度,⾕歌。

数据的分类

  • 结构化数据:指具有固定格式或有限⻓度的数据,如数据库,元数据等。

对于结构化数据,我们⼀般都是可以通过关系型数据库(mysql,oracle等)的 table 的⽅式存储和搜索,也可以建⽴索引。通过b-tree等数据结构快速搜索数据。

  • ⾮结构化数据:全⽂数据,指不定⻓或⽆固定格式的数据,如邮件,word⽂档等。

对于⾮结构化数据,也即对全⽂数据的搜索主要有两种⽅法:顺序扫描法,全⽂搜索法。

顺序扫描

  • 按字⾯意思,我们可以了解它的⼤概搜索⽅式,就是按照顺序扫描的⽅式查找特定的关键字。⽐如让你在⼀篇篮球新闻中,找出"科⽐"这个名字在哪些段落出现过。那你肯定需要从头到尾把⽂章阅读⼀遍,然后标记出关键字在哪些地⽅出现过。
  • 这种⽅法毋庸置疑是最低效的,如果⽂章很⻓,有⼏万字,等你阅读完这篇新闻找到"科⽐"这个关键字,那得花多少时间。

全⽂搜索

  • 对⾮结构化数据进⾏顺序扫描很慢,我们是否可以进⾏优化?把我们的⾮结构化数据想办法弄得有⼀定结构不就⾏了吗?将⾮结构化数据中的⼀部分信息提取出来,重新组织,使其变得有⼀定结构,然后对这些有⼀定结构的数据进⾏搜索,从⽽达到搜索相对较快的⽬的。这种⽅式就构成了全⽂搜索的基本思路。这部分从⾮结构化数据中提取出的然后重新组织的信息,我们称之索引。
  • 我们以NBA中国⽹站为例,假设我们都是篮球爱好者,并且我们是科密,那如何快速找到有关科⽐的新闻呢?全⽂搜索的⽅式就是,将所有新闻中所有的关键字进⾏提取,⽐如"科⽐","詹姆斯","总冠军","MVP"等关键字,然后对这些关键字建⽴索引,通过索引我们就可以找到对应的该关键词出现的新闻了。

什么是全⽂搜索引擎

根据百度百科中的定义,全⽂搜索引擎是⽬前⼴泛应⽤的主流搜索引擎。它的⼯作原理是计算机索引程序通过扫描⽂章中的每⼀个词,对每⼀个词建⽴⼀个索引,指明该词在⽂章中出现的次数和位置,当⽤户查询时,检索程序就根据事先建⽴的索引进⾏查找,并将查找的结果反馈给⽤户的。

搜索引擎

  • Lucene
  • Solr
  • Elastic search

为什么不⽤mysql做全⽂搜索

前⾔

  • 有⼈可能会问,为什么⼀定要⽤搜索引擎呢?我们的所有数据不是都可以放在数据库⾥吗?
  • ⽽且 Mysql,Oracle,SQL Server 等数据库⾥不是也能提供查询搜索功能,直接通过数据库查询不就可以了吗?
  • 确实,我们⼤部分的查询功能都可以通过数据库查询获得,如果查询效率低下,还可以通过新建数据库索引,优化SQL等⽅式进⾏提升效率,甚⾄通过引⼊缓存⽐如redis,memcache来加快数据的返回速度。如果数据量更⼤,还可以通过分库分表来分担查询压⼒。
  • 那为什么还要全⽂搜索引擎呢?我们从⼏个⻆度来说

数据类型

全⽂索引搜索很好的⽀持⾮结构化数据的搜索,可以更好地快速搜索⼤量存在的任何单词⾮结构化⽂本。例如 Google,百度类的⽹站搜索,它们都是根据⽹⻚中的关键字⽣成索引,我们在搜索的时候输⼊关键字,它们会将该关键字即索引匹配到的所有⽹⻚返回;还有常⻅的项⽬中应⽤⽇志的搜索等等。对于这些⾮结构化的数据⽂本,关系型数据库搜索不是能很好的⽀持。

搜索性能

如果使⽤mysql做搜索,⽐如有个player表,这个表有user_name这个字段,我们要查找出user_name以james开头的球员,和含有James的球员。我们⼀般怎么做?数据量达到千万级别的时候怎么办?

select * from player where user_name like 'james%';
select * from player where user_name like '%james%';    

灵活的搜索

  • 如果我们想查出名字叫james的球员,但是⽤户输⼊了jame,我们想提示他⼀些关键字

 

 

  • 如果我们想查出带有"冠军"关键字的⽂章,但是⽤户输⼊了"总冠军",我们也希望能查出来。

 

 

索引的维护

⼀般传统数据库,全⽂搜索都实现的很鸡肋,因为⼀般也没⼈⽤数据库存⻓⽂本字段,因为进⾏全⽂搜索的时候需要扫描整个表,如果数据量⼤的话即使对SQL的语法进⾏优化,也是效果甚微。即使建⽴了索引,但是维护起来也很麻烦,对于 insert 和 update 操作都会重新构建索引。

适合全⽂索引引擎的场景

  • 搜索的数据对象是⼤量的⾮结构化的⽂本数据。
  • ⽂本数据量达到数⼗万或数百万级别,甚⾄更多。
  • ⽀持⼤量基于交互式⽂本的查询。
  • 需求⾮常灵活的全⽂搜索查询。
  • 对安全事务,⾮⽂本数据操作的需求相对较少的情况。

常⻅的搜索引擎

简介:常⻅的搜索引擎,Lucene,Solr,Elasticsearch

Lucene

  • Lucene是⼀个Java全⽂搜索引擎,完全⽤Java编写。Lucene不是⼀个完整的应⽤程序,⽽是⼀个代码库和API,可以很容易地⽤于向应⽤程序添加搜索功能。
  • 通过简单的API提供强⼤的功能

可扩展的⾼性能索引

强⼤,准确,⾼效的搜索算法

跨平台解决⽅案

  • Apache软件基⾦会

在Apache软件基⾦会提供的开源软件项⽬的Apache社区的⽀持。

但是Lucene只是⼀个框架,要充分利⽤它的功能,需要使⽤java,并且在程序中集成Lucene。需要很多的学习了解,才能明⽩它是如何运⾏的,熟练运⽤Lucene确实⾮常复杂。

Solr

  • Solr是⼀个基于Lucene的Java库构建的开源搜索平台。它以⽤户友好的⽅式提供ApacheLucene的搜索功能。它是⼀个成熟的产品,拥有强⼤⽽⼴泛的⽤户社区。它能提供分布式索引,复制,负载均衡查询以及⾃动故障转移和恢复。如果它被正确部署然后管理得好,它就能够成为⼀个⾼度可靠,可扩展且容错的搜索引擎。很多互联⽹巨头,如Netflflix,eBay,Instagram和亚⻢逊都使⽤Solr,因为它能够索引和搜索多个站点。
  • 强⼤的功能

全⽂搜索

突出

分⾯搜索

实时索引

动态群集

数据库集成

NoSQL功能和丰富的⽂档处理

Elasticsearch

  • Elasticsearch是⼀个开源,是⼀个基于Apache Lucene库构建的Restful搜索引擎.
  • Elasticsearch是在Solr之后⼏年推出的。它提供了⼀个分布式,多租户能⼒的全⽂搜索引擎,具有HTTP Web界⾯(REST)和⽆架构JSON⽂档。Elasticsearch的官⽅客户端库提供Java,Groovy,PHP,Ruby,Perl,Python,.NET和Javascript。
  • 主要功能

分布式搜索

数据分析

分组和聚合

  • 应⽤场景

维基百科

Stack Overflflow

GitHub

电商⽹站

⽇志数据分析

商品价格监控⽹站

BI系统

站内搜索

篮球论坛

参考个人博客:cyz



Tags:搜索引擎   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
搜索引擎大变局:向左AI,向右收费
自ChatGPT面世以来,它是否会取代谷歌的讨论就未曾止歇。近日,知情人士透露,谷歌正考虑对生成式人工智能驱动的新高级功能收费,这将是谷歌搜索业务史上最大的变革,传统搜索引擎公...【详细内容】
2024-04-09  Search: 搜索引擎  点击:(4)  评论:(0)  加入收藏
生成式人工智能在搜索引擎优化(SEO)中的应用顶级案例
原文作者 | Rahul Solanki生成式人工智能正在迅速改变搜索引擎优化 (SEO) 的工作方式。 这些新时代的语言模型和机器学习系统不仅可以研究大量信息,还可以理解上下文和含义,并...【详细内容】
2024-03-27  Search: 搜索引擎  点击:(10)  评论:(0)  加入收藏
Google搜索引擎索引的网页数量有多少?谷歌官方提供数据进行参考
Google搜索引擎索引的网页数量有多少?二十世纪九十年代,网页的索引数量成了一个各大搜索引擎相互对比的指标。小编记得2000年谷歌搜索引擎的首页搜索框上方,还标记着谷歌索引的...【详细内容】
2024-03-27  Search: 搜索引擎  点击:(16)  评论:(0)  加入收藏
sem搜索引擎营销目标定位
当我们使用百度付费的竞价推广来做搜索引擎营销的时候,目标要定位好,这样才能把搜索营销的效果更大化,才能把七七鱼的竞价宗旨:花较少的钱得到更多的回报,发挥好。否则是花大钱也...【详细内容】
2024-03-25  Search: 搜索引擎  点击:(16)  评论:(0)  加入收藏
SEO优化全攻略:让你的网站在搜索引擎中脱颖而出
在这个数字化飞速发展的时代,拥有一个网站已不再是企业或个人的选择,而是必需品。然而,仅仅拥有一个网站并不足以吸引大量的流量和客户。为了让你的网站在众多竞争对手中脱颖而...【详细内容】
2024-03-25  Search: 搜索引擎  点击:(4)  评论:(0)  加入收藏
怎样知道域名有没有被搜索引擎惩罚过?
在网站推广的过程中,很多企业创建很多站点,我们会涉及到购买域名,那么如何判断域名是否被惩罚过?今天小编就跟大家来说说具体如何查询。1、网站收录如果你购买的域名可能是老域...【详细内容】
2024-03-21  Search: 搜索引擎  点击:(7)  评论:(0)  加入收藏
鲜为人知的搜索引擎优化(SEO)秘籍
随着互联网的普及和发展,搜索引擎优化(SEO)已经成为企业和个人在网络世界中争夺流量和曝光的重要手段。然而,很多从业者对于SEO的理解仍然停留在表面,实际上,有一些鲜为人知的SEO...【详细内容】
2024-03-12  Search: 搜索引擎  点击:(22)  评论:(0)  加入收藏
有什么办法能让新网站被百度等搜索引擎快速收录?,搜索引擎收录的原理
为了使新的网站能尽快被主流搜寻引擎如百度所收录,有几种行之有效的策略值得我们借鉴。这篇文章我将为大家提供九个切实可行的提示,以提升网站知名度,从而吸引更广泛的用户群体...【详细内容】
2024-03-12  Search: 搜索引擎  点击:(25)  评论:(0)  加入收藏
宝藏级Go语言开源项目——教你自己动手开发互联网搜索引擎
DIYSearchEngine 是一个能够高速采集海量互联网数据的开源搜索引擎,采用 Go 语言开发。Github 地址:https://github.com/johnlui/DIYSearchEngine运行方法首先,给自己准备一杯...【详细内容】
2024-03-12  Search: 搜索引擎  点击:(25)  评论:(0)  加入收藏
AI聊天机器人或将取代搜索引擎?这不是开玩笑!
作为互联网行业中最经典的商业产品之一,搜索引擎在太平洋两岸分别哺育出了谷歌和百度这两大科技巨头。虽然在过去二十余年间,无数挑战者试图掀翻百度和谷歌的“铁王座”,却无一...【详细内容】
2024-02-21  Search: 搜索引擎  点击:(51)  评论:(0)  加入收藏
▌简易百科推荐
搜索引擎大变局:向左AI,向右收费
自ChatGPT面世以来,它是否会取代谷歌的讨论就未曾止歇。近日,知情人士透露,谷歌正考虑对生成式人工智能驱动的新高级功能收费,这将是谷歌搜索业务史上最大的变革,传统搜索引擎公...【详细内容】
2024-04-09    21世纪经济报道  Tags:搜索引擎   点击:(4)  评论:(0)  加入收藏
谷歌或改变商业模式,人工智能搜索考虑收费
诸如ChatGPT这样的产品针对提问可以给出快速而完整的答案,这可能会使传统搜索引擎的链接列表和伴随这些链接出现的广告变得多余。谷歌考虑对人工智能搜索收费谷歌考虑对人工...【详细内容】
2024-04-07    媒体滚动  Tags:谷歌   点击:(2)  评论:(0)  加入收藏
AI搜索起风,昆仑万维、360“争先恐后”
去年,国内外掀起了一波AI热潮,包括互联网大厂、科技企业在内的各路巨头积极参与其中,并且推出了自家的AI大模型产品,一时间,更是出现了“百模大战”的盛况。AI大模型的出现,也让各...【详细内容】
2024-03-28  刘旷  搜狐号  Tags:AI搜索   点击:(14)  评论:(0)  加入收藏
AI聊天机器人或将取代搜索引擎?这不是开玩笑!
作为互联网行业中最经典的商业产品之一,搜索引擎在太平洋两岸分别哺育出了谷歌和百度这两大科技巨头。虽然在过去二十余年间,无数挑战者试图掀翻百度和谷歌的“铁王座”,却无一...【详细内容】
2024-02-21    三易生活  Tags:搜索引擎   点击:(51)  评论:(0)  加入收藏
百家号AI自动生成的视频会有版权问题吗?
百家号AI自动生成的视频会有版权问题吗? 随着人工智能技术的不断发展,越来越多的AI应用开始涉足视频生成领域。其中,百家号AI自动生成的视频成为了人们关注的焦点。然而,随之而...【详细内容】
2024-01-29    简易百科  Tags:百家号   点击:(83)  评论:(0)  加入收藏
百度搜索对比其他搜索平台有哪些不同之处
百度搜索作为中国最大的搜索引擎,与其他国际搜索引擎如谷歌、必应等相比,存在一些不同之处。本文将主要探讨百度搜索相较于其他搜索引擎的特点和优势。一、地域性百度搜索在中...【详细内容】
2024-01-23  重庆百首网络    Tags:百度搜索   点击:(52)  评论:(0)  加入收藏
你还在用百度搜索么?2023年百度搜索市场份额大跌,搜索引擎排名
看2023年搜索市场之前先看一下2019年12月到2023年12月整体数据,数据显示,百度搜索占比最高在2022年一月,搜索使用占比接近90%,其他的搜索引擎几乎不配跟百度对比。再来看看2023...【详细内容】
2024-01-07  自在畅说  今日头条  Tags:搜索引擎   点击:(65)  评论:(0)  加入收藏
谷歌竞价需要SEO吗?探讨SEM和SEO的关联性
谷歌竞价需要SEO吗?这是一个值得深思的问题,因为它涉及到如何在谷歌搜索引擎上获得最大的曝光率。谷歌Ads和谷歌SEO,看似不同,但实际上它们是相辅相成的。只有充分理解和运用这...【详细内容】
2024-01-05  郑州白帽子网络科技谷歌竞价需要SEO吗?探讨SEM和SEO的    Tags:谷歌竞价   点击:(111)  评论:(0)  加入收藏
用 AI 重新定义搜索,Perplexity完成 7360 万美元 B 轮融资
IT之家 1 月 5 日消息,Perplexity AI 近日发布公告,表示完成 B 轮融资,成功筹集 7360 万美元(当前约 5.28 亿元人民币),众多大佬纷纷为这个明星公司站台。完成本次融资后,公司估值...【详细内容】
2024-01-05    IT之家  Tags:Perplexity   点击:(81)  评论:(0)  加入收藏
揭秘搜索引擎:为何搜不到你的企业?SEO优化真的能帮你提升排名吗?
导语:在这个信息爆炸的时代,搜索引擎成为了我们获取信息的主要途径。然而,你是否曾遇到过在搜索引擎中无论如何也找不到自己企业的情况?这究竟是怎么回事?SEO优化是否真的能提升...【详细内容】
2024-01-04  易华合讯     Tags:搜索引擎   点击:(78)  评论:(0)  加入收藏
站内最新
站内热门
站内头条