搜索系统简介

搜索系统简介

一个基本的搜索引擎系统主要由离线(建库)和在线(检索)两部分构成,离线侧主要完成“网页获取——网页分析——建倒排索引库”的过程,在线侧主要完成“query获取——query处理——与doc进行相关性匹配”的过程。首先给出一个全貌图:

搜索系统概览搜索系统概览

网页获取

做过爬虫的人都知道,网页获取实际上就是一个spider的过程,spider通过“抓取网页——分析页面——进网页库——提取链接——抓取网页”的循环过程从互联网上源源不断的获取网页,评价一个spider的优劣主要从“覆盖率”、“时效性”以及“更新率”三个方面来衡量,“覆盖率”强调网页内容的全面丰富,针对于通用搜索而言,搜索引擎希望能获取到互联网上各种各样的全面资源;“时效性”强调网页内容的时鲜度,尤其表现在新闻等领域;“更新率”强调网页内容的及时更新,页面变死、页面内容有变化等都能使用户直接感知到,因此spider必须要保证及时的更新网页。

索引库建立

首先给出几个搜索领域的关键词含义:

  • term:网页内容切词后最基本的表述单位
  • 正排表:以url为key,以term及其属性集合(比如term在页面中出现的次数、term在页面中的位置等)为value的数据结构
  • 倒排表:以term为key,以url及term在该url中的属性集合为value的数据结构
  • brief:页面上除了term,还有页面本身的属性,比如页面内容的丰富度、页面时间、页面权威性,这些信息和term没有关系,可以用数组直接存储brief信息,称为brief表

网页成功获取到网页库之后,需要进行“正文提取——切词——倒排索引”过程来建立倒排索引库,倒排索引库以term为基本单位,形成“term->拉链”的倒排单元。搜索即是query和网页的匹配过程,网页需要切词,query同样需要切词成term,因此从倒排索引中拉出拉链的过程就可以理解为是query的切词term和网页的切词term相匹配的过程。

在线检索

Query分析

上述过程中提到query需要切词,因此query分析就称为搜索过程中的一个重要部分,而query侧的term主要有“term的重要性”和“term的紧密度”两个重要属性,这两个属性直接决定不同的query从倒排索引中拉出的拉链结果。

  • term的重要性:描述term在query中是否重要,重要的term在匹配的页面中必须出现,不重要的term可以省略或者赋予较低的权重
  • term的紧密度:描述query中相邻或者相隔的几个term的关系是否紧密;如果term在query中是紧密的,在页面中也必须是紧密的

基础检索

基础检索的部分可以理解为query的term与doc的term进行匹配以及匹配后的多term归并的过程,即粗排序,完成url对query的打分。

  • term归并:query分析得到很多term,圈出包含这些term的页面,得到url集合
  • 权值计算:通过若干因素,计算出每个url对query的打分

高级检索

在基础检索中,query与doc的相关性等计算都细化到了term粒度,已经失去了原始query和doc的整体语义信息,因此需要高级检索通过计算query和页面的文本相关性来做精排序。

更复杂的算法可以根据用户的搜索-点击行为,构建点击率模型,或者根据学习排序的方法优化排序模型。

特殊检索

特殊检索主要是与业务强相关的检索,即在通用的排序规则上,开发人员可以根据业务需要进行一些自定义排序策略的开发,比如电商场景中根据点击量等对某些商品进行提升、根据商品的上架时间进行热度的更新等等。

参考:https://pminmin.github.io/2019/05/29/%E6%90%9C%E7%B4%A2%E7%B3%BB%E7%BB%9F%E7%AE%80%E4%BB%8B/

SOPI垂直搜索引擎2.0是一个从信息采集到分析到索引的整套解决方案,让你也可以轻松拥有一个多功能垂直搜索引擎。可以针用于行业垂直信息进行搜索,网站搜索等各类应用。 SOPI垂直搜索引擎系统的应用特点 外网搜索引擎:众多内容型网站为了保持数据的最新,不得不花费大量的人力进行内容更新。 SOPI 系统可以锁定需要的网站,进行定时采集此网站的最新内容;可以节省大量的人力成本,而且可以保证信息的全面性,同时结合搜索技术在海量的信息库中快速找到需要的信息。 高应用扩展性,可以根据用户需求快速配置成为不同类型的垂直搜索引擎,如成为商机搜索、产品信息及其他各类需要的信息。只需普通技术人员便可以实现。 极少量的人工干预,系统管理员仅通过管理界面即可自动实现各类信息的搜索。大部分工作由系统自动完成。 自动生成对网站的配置,提高工作效率及降低工作难度,垂直搜索引擎对不同网站进行不同配置是必然的,本系统应用自动化技术将人工工作降到最低,将工作人员的技术要求降至最低。 可以从多个界而采集信息,系统进行自动合并,如从一个页面搜索产品信息,另一个网页搜索公司信息,将两个页面的内容自动合并。 站内搜索引擎:可以轻松将内部网站的内容进行索引,为企业提供企业知识管理,或为网站用户提供自身网站的搜索服务。 SOPI 搜索系统采用先进的索引机制,高效对全文进行索引及搜索,可以产生与百度和 GOOGLE 相同的准确结果,而且快速; SOPI搜索引擎系统的技术特点 使用与GOOGLE相同的数据库系统Oralce Berkeley DB嵌入式数据库,千万级数据状况下操作数据仍保持在毫秒级,与使用ORACLE或SqlServer数据库性能提升数百倍。 系统结构的合理分离有利于分布式架构,适应未来大量的搜索工作,可以轻易在多服务器环境中进行应用。 各子系统相互独立,任一子系统的停止运行不影响其他系统,有效保证稳定性; 先进的文章及图片指纹技术,超低重复率。由于不同网站有大量重复信息,如果不能有效辨别文章是否存在将会有大量重复信息存在,图片一样会有大量重复存在。 SOPI 系统采用先进的文章和图片识别系统有效保障超低重复率; 对文章和图片的超强提取能力,系统可以在各种复杂的网页中提取标题正文和时间等参数,可以高智能的提取有用的信息,过虑无用信息; 高性能的分词组件,字典词库高质量,保证索引和搜索的准确性; 优秀的管理平台,可以方便管理进行信息采集的站点列表,及对下载的层级进行自定义; 可便捷对系统进行扩展,以满足不同的需求 SOPI垂直搜索引擎子系统 SpiderService 作用:通过此服务将需要搜索的网站中的信息下载到本地 存储关系:通过从存储系统中读取下载列表,将下载的信息保存至硬盘 运行方式:以WINDOW服务方式自动运行 人工干预度:不需干预 AnalyseService 作用:此服务将下载到本的信息进行分析,为SpiderService提供新的URL列表,同时根据配置对网页中的内容进行提取,如供求信息\\文章\\产品信息等 存储关系:将分析结果及新URL保存到数据库 运行方式:以WINDOW服务方式自动运行 人工干预度:不需干预 AutoMatchService 作用:此服务用来自动匹配字段信息,如根据网站中分析的地区信息\\行业分析信息等各类分类信息匹配成为系统需要的信息,如从网站获得的地区信息:浙江省>>杭州市>>将这一内容自动匹配为浙江省或杭州市,也可以根据企业名自动匹配地区信息,如:杭州市欧派信息技术有限公司匹配为杭州市 存储关系:根据数据库中的存储结果自动匹配为需要形式的结果 运行方式:以WINDOW服务方式自动运行 人工干预度:不需干预 IndexService 作用:此服务用来将完善的信息索引到索引库,提供外部进行搜索,通过索引库的建立可以向用户提供如类似BAIDU一样的搜索 存储关系: 运行方式:以WINDOW服务方式自动运行 人工干预度:不需干预 TokenizerService 作用:此服务用来向WEB提供分词服务,向用户BAIDU式搜索提供支持 存储关系:从数据库读取信息,转换成索引库中的内容 运行方式:以WINDOW服务方式自动运行 人工干预度:不需干预 管理WEB 作用:通过管理WEB可以实现需要的搜索及自定义的结果 存储关系:操作数据库及配置库 运行方式:WEB形式运行 人工干预度:人工干预 用户WEB 作用:向用户提供信息服务 存储关系
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值