关于开发简易搜索引擎的一些总结和思考
大学毕业加入秒针,对广告和监测有了一定的兴趣。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、简易搜索、电商网站。
力求做到,思路清晰、代码复用、 有商业价值、提高个人技术水准,更重要的是为可能的若干年之后的,“去而复返”做写技术准备。
转载于:https://www.cnblogs.com/qitian1/p/6463003.html
关于开发简易搜索引擎的一些总结和思考相关推荐
- VC++开发简易输电线路管理信息系统
准备开发简易输电线路管理信息系统:方便起见:下一个源码来改: 1 下的源码运行截图如下: 2 拷贝一份,改名,打开: 3 用mdb操作工具修改该源码自带的mdb数据库: mdb操作工具见此 http: ...
- Android开发简易教程
Android开发简易教程 Android 开发因为涉及到代码编辑.UI 布局.打包等工序,有一款好用的IDE非常重要.Google 最早提供了基于 Eclipse 的 ADT 作为开发工具,后来在2 ...
- IOS开发简易的网易新闻页面
IOS开发简易的网易新闻页面 这是简易的网易新闻,使用swift语法去写的 git 仓库地址: https://e.coding.net/lujun1/wangyijianyixinwenswiftb ...
- 【信息检索】Java简易搜索引擎原理及实现(三)B+树索引和轮排索引结构
上一篇文章 :[信息检索]Java简易搜索引擎原理及实现(二)新增停用词表 + 查询处理,我们在建立好的倒排索引的结构中剔除了停用词,同时引入了AND.OR.ANDNOT操作符,支持三种查询方式. 这 ...
- Android学习笔记-传感器开发之利用传感器和Tween开发简易指南针
本次我们学习Android传感器的开发,前面已经介绍过了,tween的使用,所以,我们可以结合传感器与tween动画,开发简易的指南针. 首先先介绍一下传感器的相关知识, 在Android应用程序中使 ...
- Vue框架入门(一)---开发简易计算器
涉及知识: HTML.CSS.JavaScript Vue(v-for.v-model.v-on.v-clock) Gitee仓库 :https://gitee.com/vgtime123/Calcu ...
- java awt 简单计算器,JAVA Swing 开发简易计算器(上)
开发一个简易的计算器我们主要分为两大部分:图形界面设计与具体功能实现.这篇文章讲图形界面设计,下篇讲具体功能实现. 代码下载:https://github.com/taifus/Java_Calcul ...
- JavaEE + Oracle + Spring Boot + Mybatis + Maven 开发简易版银行管理系统(附源码)
文章目录 JavaEE + Oracle + Spring Boot + Mybatis + Maven 开发简易版银行管理系统 一.系统介绍 二.开发步骤 三.系统展示 四.开发总结 五.数据库相关 ...
- java swt 计算器_JAVA开发简易计算器界面-SWT
大家好,我是成都[LD],博客四年前就申请了,一直没打理,最近正好有时间,遂萌生了写技术博客的念头.我不得不感慨现在新技术更新很快,一不小心,就感觉自身就Out了.记得一年前,当时我也是在51CTO上 ...
最新文章
- Vue:对象更改检测注意事项
- 广播的最佳实践——实现强制下线功能(Android_Broadcast)...
- C++ STL 总结
- pandas如何保存在excel里面_【精选】Pandas一站式教程!
- centos6.4 使用 HDFS C API
- 可视化图形(二):热力图-imshow()
- list java removeif_java – removeIf()方法.从List中删除所有元素
- 详解ASP.NET页面生命周期事件
- 基于heartbeatV2版本的ha-gui工具对httpd做高可用集群(1)
- Opensturt和Struct区别
- android之去掉空包合并
- hadoop集群搭建(3)
- 【U8+】去掉填制凭证界面金额中的网格
- 「HNOI 2009」图的同构记数
- 网络安全架构与域划分(企业安全)
- ASO优化_积分墙优化打量,广告投放策略
- 八百呼的手机录音系统,一个划时代的进步
- 使用jasypt加密解密
- php单双引号嵌套解决方案
- 《数据结构与面向对象程序设计》第1周学习总结