垂直搜索引擎研发经验总结

垂直搜索引擎研发经验总结

什么是垂直搜索引擎?

垂直搜索引擎是针对某一行业的搜索引擎,是搜索引擎的细化和延伸,是对网页库中的某类信息进行一次整合,定向分字段抽取出所须要的数据,再进行二次处理和索引,最后依据用户提交的请求,返回搜索结果。

与普通的网页搜索引擎相比,它们最大的差别是对网页信息进行了结构化信息抽取,也就是将网页的非结构化数据抽取成特定的结构化信息数据,好比网页搜索是以网页为最小单 位,而垂直搜索是以结构化数据为最小单位,这个结构化数据可称为记录。然后,再将这些数据(记录信息)进行进一步的加工处理,如:去重、分 类等,最后分词、索引再以搜索的方式满足用户的需求。非常显然的,这个过程非常像传统的数据库检索。可是,传统的数据库检索,是基于字符串匹配的,没有相关性排序。当然,传统数据检索,也有自己的优势,支持复杂的表连接操作。垂直搜索引擎在这一点上是比較弱的。能够说,垂直搜索引擎是基于现实需求下的通用搜索和数据库检索相互折中的方案。

垂直搜索引擎的一般流程:

定向抓取 ==> 网页信息抽取 ==> 二次处理和分词 ==>索引和检索 ==> 相关性排序

垂直搜索特点:

(1)垂直搜索引擎抓取的数据来源于垂直搜索引擎关注的行业网站:

比方:找工作的搜索引擎 www.deepdo.com 的数据来源于:www.51job.com , www.zhaoping.com , www.chinahr.com 等等;股票搜索引擎 www.macd.cn 的数据来源于: www.jrj.com.cn , www.gutx.com 等股票网站;

(2)垂直搜索引擎抓取的数据倾向于结构化数据和元数据:

比方:我们找工作关注的:职位信息: 软件project师;公司名称,行业名称:软件公司,外包行业等;地点:北京,海淀;

(3)垂直搜索引擎的搜索行为是基于结构化数据的搜索:

比方: 找:海淀 软件project师 的工作等。

为什么我们要开发自己的垂直搜索引擎平台?

(1)Lucene弱点:不支持分布式、速度慢、性能差

(2)垂直搜索引擎,索引的对象是结构化信息(记录),必须支持字段索引和检索,而通用的数据引擎,不支持这方面功能。

(3)自主知识产权

(4)须要支持复杂业务

垂直搜索引擎什么研发?(重点:索引和检索)

(1)业务需求分析和抽象化:

(2)总体架构设计:

   
    数据服务平台模块:负责引擎数据的统一管理,接收带有类型标识的待索引数据和索引过程中产生的用于检索的格式化数据;

CacheServer模块:负责web前端与引擎后台之间的数据交互(接收请求、分析请求),以及缓存检索结果;

MiddleServer模块:转发检索请求,并合并各IndexSearch返回的检索结果,完毕相关性排序;

IndexSearch模块: 分析检索请求 ==> 语素系列 ==> 合并各语素检索结果 ==> [其他过滤] ==>

IndexBuilder模块:依据配置,对输入数据索引,生成倒排索引数据

(3)具体设计和编码:

(4)须要具备的知识点:链表、栈、队列和优先队列、哈希表、、B+树、高速排序、堆排序、基于文件的外排序、倒排索引、多线程和相互排斥、socket编程(select和epoll)、系统编程(文件夹、文件操作和管理)等等。

垂直搜索开发学习视频下载地址

链接:http://pan.baidu.com/share/link?shareid=3520653814&uk=3611155194 password:3fgz

垂直搜索引擎研发经验总结,布布扣,bubuko.com

时间: 2024-08-28 22:13:03

垂直搜索引擎研发经验总结的相关文章

垂直搜索的相关知识点总结

垂直搜索引擎大体上需要以下技术 1.Spider 2.网页结构化信息抽取技术或元数据采集技术 3.分词.索引 4.其他信息处理技术 垂直搜索引擎的技术评估应从以下几点来判断 1.全面性 2.更新性 3.准确性 4.功能性 垂直搜索的进入门槛很低,但是竞争的门槛很高.没有专注的精神和精湛的技术是不行的.行业门户网站具备行业优势但他们又是没有技术优势的,绝对不要想像着招几个人就可以搞定垂直搜索的全部技术,作为一个需要持续改进可运营的产品而不是一个项目来说对技术的把握控制程度又是垂直搜索成功的重要因素

爬虫的定向爬取与垂直搜索

转 爬虫的定向爬取与垂直搜索 定向爬虫是网络爬虫的一种. 定向爬虫 定向爬虫可以精准的获取目标站点信息. 定向爬虫获取信息,配上手工或者自动的模版进行信息匹配,将信息进行格式化分析存储. 优势: 基于模版的信息提取技术,能提供更加精准的信息.比如价格,房屋面积,时间,职位,公司名等等. 劣势: 目标网站难以大面积覆盖,因为基于模版匹配的信息提取技术,需要人工的参与配置模版,欲要大面积覆盖各个目标网站,需要大量的人力成本,同样维护模板也需要很大的人力成本. 也就是说定向爬取就是我们要针对不同的网页

Lucene搜索引擎+HDFS+MR完成垂直搜索

介于上一篇的java实现网络爬虫基础之上,这一篇的思想是将网络收集的数据保存到HDFS和数据库(Mysql)中:然后用MR对HDFS的数据进行索引处理,处理成倒排索引:搜索时先用HDFS建立好的索引来搜索对应的数据ID,根据ID从数据库中提取数据,呈现到网页上.   这是一个完整的集合网络爬虫.数据库.HDFS.MapReduce.DAO设计模式.JSP/Servlet的项目,完成了数据收集.数据分析.数据索引并分页呈现. 完整的代码呈现,希望认真仔细阅读. ------> 目录: 1.搜索引擎

使用最新 solr4.10 快速开发团购网站等垂直搜索网站

说明: solr 是一个非常完善的开源项目,非常优秀,他不紧紧是做个索引这么简单,而是可以做成一个垂直的网站,比如团购网站,快速搭建页面. 而且solr带了一个非常优秀的管理后台.可以查看管理,导入数据,重建索引,同步主从数据,非常强大. 这里主要展示的是solr 可以快速搭建一个团购网站,并且将代码做成demo放到github上面供大家学习参考. 代码修改的比较仓促还在不断完善. 1,环境搭建,使用solr4.10 版本 从apache 官方网站下载最新的 solr 4.10.0 http:/

app后端搜索入门

现在人们的网络生活已经离不开搜索了,遇到不懂的问题,想知道的事情,搜索一下,就知道答案. 在app中,最常见的搜索情景就是搜索用户.只有几百,几千的用户量时,可以直接用用like这样的模糊查询,但是,如果数据有几百万,甚至上千万的时候,一次like查询数据库就堵了.到了一定量级的时候,不得不考虑使用专门的搜索技术. 1.    一个简单的搜索例子 有三行数据: (1)近2周8成股民亏损超10%. (2)满仓中国梦. (3)股民两天亏一套三居. 例如,有个需求,从上面的3行数据中,把包含“股民”这

35.app后端搜索入门

现在人们的网络生活已经离不开搜索了,遇到不懂的问题,想知道的事情,搜索一下,就知道答案. 在app中,最常见的搜索情景就是搜索用户.只有几百,几千的用户量时,可以直接用用like这样的模糊查询,但是,如果数据有几百万,甚至上千万的时候,一次like查询数据库就堵了.到了一定量级的时候,不得不考虑使用专门的搜索技术. 1.    一个简单的搜索例子 有三行数据: (1)近2周8成股民亏损超10%. (2)满仓中国梦. (3)股民两天亏一套三居. 例如,有个需求,从上面的3行数据中,把包含"股民&q

超级搜索术 总结篇1

一.先导课 1.看英语视频.电影,翻译(网易.赚钱) 2.人生中80%的困难,可以用搜索来解决 3.举一反三.不要呆板的搜索 4.搜索技巧.整理.分类(提高效率)--->化为大脑知识 5.观察擅长搜索的人,搜索思路(互联网达人)-->融于生活(像呼吸一样) 6.学会呼吸(更充足的氧气,掌握正确的方法) 7.自食其力.触类旁通 8.先思考.并亲手动手实践.带着问题来听课 9.最短时间内免费找到最多有效的信息,不花钱并不代表低成本(不妨用钱来换取效率.时间) 二.信息搜索 1.搜索心法:找什么.哪

Lucene4.6+Solr4.6实战开发垂直搜索引擎 Lucene4.6实战视频教程

<基于Lucene4.6+Solr4.6+Heritrix1.14+S2SH实战开发从无到有垂直搜索引擎> 课程讲师:小叶子 课程分类:Java 适合人群:初级 课时数量:69课时 用到技术:Hibernate.Struts.Spring.jQuery.Lucene.Solr.Heritrix 涉及项目:百度文库搜索引擎 垂直搜索引擎是针对某一个行业的专业搜索引擎,是搜索引擎的细分和延伸,是对网页库中的某类专门的信息进行一次整合,定向分字段抽取出需要的数据进行处理后再以某种形式返回给用户.垂直

Sphinx + Coreseek 实现中文分词搜索

Sphinx + Coreseek 实现中文分词搜索 Sphinx Coreseek 实现中文分词搜索 全文检索 1 全文检索 vs 数据库 2 中文检索 vs 汉化检索 3 自建全文搜索与使用Google等第三方站点提供的站内全文搜索的差别 Sphinx Coreseek介绍 Coreseek安装使用 1. 全文检索 1.1 全文检索 vs. 数据库 全文检索是数据库的有力补充,全文检索并不能替代数据库在应用系统中的作用.当应用系统的数据以大量的文本信息为主时,採用全文检索技术能够极大的提升应