首页 > 代码库 > 关于开发简易搜索引擎的一些总结和思考
关于开发简易搜索引擎的一些总结和思考
在大学期间,有段时间对搜索还是比较感兴趣的,就研究了几天。后来,发现搜索引擎太难搞了,分词啥的,好多都是纯算法。感觉没啥意思,so就半途而废,玩别的技术领域去了。
大学毕业加入秒针,对广告和监测有了一定的兴趣。so又想搞搜索引擎了,大概的目标就是,从网上爬去内容,建立索引,网友搜索、点击、广告点击等监测统计,存到数据库。
这个项目,还真是做了,做完了一个Demo版。借助jsoup和自己写几行代码爬网页, 然后用lucene建立索引,然后就可以查询了,只能存储最基本的日志。项目名称叫做FansITSearch。
这个项目,还有另外一个用途, 就是索引硬盘中的内容,比如TXT、PDF、Word、Excel等各种类型的文档,方便自己查找。我们应该非常清楚地看到,Windows自带的搜索,慢的和蜗牛一样。
桌面搜索引擎,不知道有没有比较牛逼的,反正我还没有注意到。
2014年下半年,在写个人官网和BriefCMS,都是侧重内容型的网站,建立全站的全文搜索,还是非常有实际价值的。
在网站中,加入全文搜索功能,除去技术实现,怎么接入有2种思路:
1.把Lucene实现的全文索引和查询,做成基础库。
其他业务项目需要使用,就引入这个基础库,开发起来,只需要提供数据等接口就可以了。
这种方式,我觉得相对容易实现。毕竟是白盒的,能直接看到代码,定制很容易。
2.把全文搜索做成一项服务。
这个网站是一个独立的项目,其它任何内容型的网站,如果需要搜索功能,使用它的服务就好。
比如,百度早期就是给其它门户网站提供站内搜索。
服务怎么去实现呢,毕竟各个项目之间要互相独立。
关于功能
1. 爬虫
用jsoup解析页面的url、自己写递归、逻辑判断,也可以使用WebMagic、Apache-solr。
solr一定得认真研究下,http://lucene.apache.org/solr/
2.存储数据
文件、数据库
3.索引
lucene做
4.查询
lucene
5.统计。
写这篇文章,其实是想做个一个关于搜索的总结,同时,为2015年预计的开发做个思想准备,知道自己应该去解决哪些问题。
预计2015年的项目有,小雷官网、BriefCMS、简易搜索、电商网站。
力求做到,思路清晰、代码复用、 有商业价值、提高个人技术水准,更重要的是为可能的若干年之后的,“去而复返”做写技术准备。
大学毕业加入秒针,对广告和监测有了一定的兴趣。so又想搞搜索引擎了,大概的目标就是,从网上爬去内容,建立索引,网友搜索、点击、广告点击等监测统计,存到数据库。
这个项目,还真是做了,做完了一个Demo版。借助jsoup和自己写几行代码爬网页, 然后用lucene建立索引,然后就可以查询了,只能存储最基本的日志。项目名称叫做FansITSearch。
这个项目,还有另外一个用途, 就是索引硬盘中的内容,比如TXT、PDF、Word、Excel等各种类型的文档,方便自己查找。我们应该非常清楚地看到,Windows自带的搜索,慢的和蜗牛一样。
桌面搜索引擎,不知道有没有比较牛逼的,反正我还没有注意到。
2014年下半年,在写个人官网和BriefCMS,都是侧重内容型的网站,建立全站的全文搜索,还是非常有实际价值的。
在网站中,加入全文搜索功能,除去技术实现,怎么接入有2种思路:
1.把Lucene实现的全文索引和查询,做成基础库。
其他业务项目需要使用,就引入这个基础库,开发起来,只需要提供数据等接口就可以了。
这种方式,我觉得相对容易实现。毕竟是白盒的,能直接看到代码,定制很容易。
2.把全文搜索做成一项服务。
这个网站是一个独立的项目,其它任何内容型的网站,如果需要搜索功能,使用它的服务就好。
比如,百度早期就是给其它门户网站提供站内搜索。
服务怎么去实现呢,毕竟各个项目之间要互相独立。
关于功能
1. 爬虫
用jsoup解析页面的url、自己写递归、逻辑判断,也可以使用WebMagic、Apache-solr。
solr一定得认真研究下,http://lucene.apache.org/solr/
2.存储数据
文件、数据库
3.索引
lucene做
4.查询
lucene
5.统计。
自己写代码,比如搜索词、点击。
原文首发:http://fansunion.cn/article/detail/579.html
写这篇文章,其实是想做个一个关于搜索的总结,同时,为2015年预计的开发做个思想准备,知道自己应该去解决哪些问题。
预计2015年的项目有,小雷官网、BriefCMS、简易搜索、电商网站。
力求做到,思路清晰、代码复用、 有商业价值、提高个人技术水准,更重要的是为可能的若干年之后的,“去而复返”做写技术准备。
关于开发简易搜索引擎的一些总结和思考
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。