关于开发简易搜索引擎的一些总结和思考
来源:互联网 发布:淘宝旗舰店是正品吗 编辑:程序博客网 时间:2024/06/04 19:58
在大学期间,有段时间对搜索还是比较感兴趣的,就研究了几天。后来,发现搜索引擎太难搞了,分词啥的,好多都是纯算法。感觉没啥意思,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、简易搜索、电商网站。
力求做到,思路清晰、代码复用、 有商业价值、提高个人技术水准,更重要的是为可能的若干年之后的,“去而复返”做写技术准备。
1 0
- 关于开发简易搜索引擎的一些总结和思考
- 细读:关于搜索引擎及其开发,我的疑问和思考
- 关于搜索引擎的思考!
- 关于嵌入浏览器架构的一些总结和思考
- Android关于VideoView的一些思考和总结
- 关于php代码执行机制的一些思考和总结
- 关于软件开发的一些常识和思考
- 关于软件开发的一些常识和思考
- 关于开发环境的一些思考
- 关于软件开发团队的一些思考
- 关于软件开发团队的一些思考
- 关于软件开发团队的一些思考
- 关于软件开发团队的一些思考
- 关于嵌入式软件开发的一些思考
- 关于软件开发团队的一些思考
- 通过面试总结关于java开发者职业发展的一些总结和思考
- 关于goto和switch的一些思考
- 关于指针和数组的一些思考
- 模拟进程调度算法
- linux 服务器CPU物理颗数.内核数.线程数查看及关系详解
- hibernate---java.lang.UnsupportedOperationException: The user must supply a JDBC connection
- Flex获取项目路径
- 浅谈ORACLE中ORA-06502:PL/SQL:数字或值错误:字符到数值的转换错误
- 关于开发简易搜索引擎的一些总结和思考
- Android学习笔记之RadioButton的使用详解
- 动画效果监听事件
- 负载均衡--服务器单机集群以及session共享技术分享和交流
- 在Macbook上配置使用Android自动化测试工具uiautomator
- 使用Oracle显式游标及for循环
- OpenGL入门6——GLUT窗口
- SOJ--4389: 川大贴吧水王
- sql知识归纳