我的毕业设计想做一个站内搜索 请大家给些意见和建议吧

chenlei1700 2011-09-05 02:43:46
首先 我对搜索什么都不懂,昨天刚开始看

我想把站内搜索做成chorme浏览器的add-on。 用java做,这样没有站内搜索的网页也可以用了。主要实现关键字检索,自定义检索深度

查了一下开源包, 有很多,我不知道该用哪个好了。

想请教大家:
1 我的想法能否实现,
2 应该用哪个包来实现,
3 如何下手? 谢谢

新手 ,越详细越好,再次谢谢了。


...全文
127 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenlei1700 2011-10-04
  • 打赏
  • 举报
回复
谢谢以上几楼的回复
特别感谢 shirdrn
千与 2011-10-03
  • 打赏
  • 举报
回复
如果只是为了完成那个毕设,怎么做都可以了,你肯定有办法达到那个时间阙值。
如果想深入点研究搜索,建议:
1、自己写个爬虫:实际上就是基于HTTP协议,与特定主机交互,请求指定的网页资源(你可以参考一些开源实现,一步步完善、扩展自己的爬虫);
2、基于Lucene做一套索引系统,不需要太难,可以参考Solr,但没必要做那么大那么完善;
3、如果想再扩展一下,实现多个子系统将每个模块都单独分离出来分布,你会看到这样做很好;继续扩展,单个子系统实现分布,你会看到,这样做确实很不错。
chenlei1700 2011-09-26
  • 打赏
  • 举报
回复
谢谢shirdrn
我现在的想法是用htmlparser读取html页面,然后提取这个页面的url,并对这个页面进行关键词的搜索。
然后再有提取到的url读取html页面,依此类推。

这样做就不用建立索引,也不用用到Lucene。虽然这种发法效率肯定不高,速度慢,但是每个网页都可以使用,并且不依赖于google等搜索引擎。

请问这样做能行的通么?只要能在1分钟之内完成的话我就可以接受。

再次感谢,写那么多。
千与 2011-09-24
  • 打赏
  • 举报
回复
1、不明白你的担心速度慢指什么,就1000个网页,无论是索引还是查询都不会很慢的啊(哪怕拿db去查)
2、你所说的real-time search在搜索引擎里面并不是像你说的那样,边去做parser边索引、查询,它的真正含义是,当前系统提供搜索服务(前端用户可以查询获取想要的结果),同时你有增加新的数据(网页),这时候能够同步更新索引,让用户也能马上查询到最新的内容,这个才是real-time search,不过一般来说有一定延迟的(与你应用需求有关、与服务器配置有公关)
3、能够查询都是因为在查询之前,对数据进行了索引,查询的时候直接从索引库里面检索,速度很快的
4、推荐资源:
(1)Lucene不过是一个search library,你要在此基础上可能做很多工作,例如提供用户界面等等,不过Lucene的性能是不要怀疑的,支持TB级索引数据是没问题的,而且速度很快
(2)你可以使用Solr来搭建,它是基于Lucene实现的一个开源的查询服务器框架,可以很好地进行索引的更新,以及查询结果的表现(json、xml)都很容易被前端处理展示
(3)你要是用个Nutch,可能学习成本高一些,它是基于Hadoop开源分布式框架(HDFS和MapReduce),数据量小于TB级没有必要使用它
(4)爬虫的选择就多了,Java的Heritrix等、C的larbin爬虫、python的scrapy、都是开源的
(5)search library还有个选择,就是C++写的Xapian开源框架,这个也不错,可以尝试一下
叶子 2011-09-07
  • 打赏
  • 举报
回复
1.可以用lucene,lucene现在已经发展到1.9.1版了,相当稳定,网上中英文资源很丰富,甚至关于这个工具包的书(lucene in action)都有了.如果只是做站内搜索,可以直接从读数据库中读数据,调用lucene做索引.再写一个前台查询界面,调用lucene查询索引并在前台显示结果.

想一点程序都不写的话可以参考下面2个方案

2.用heritrix + nutchwax,heritrix也是一个很成熟的crawler,他将网页下载并压缩保存到arc格式的文件中,一个arc文件一般100兆左右,heritrix不解析提取网页的内容,nutchwax负责解析网页,提取内容并建索引,nutchwax提供检索界面.缺点是nutchwax的安装很麻烦.

3.用nutch,一个超强的开源软件,作者就是lucene的作者,该软件的目标是做到和Google一样强大,nutch的很多分布式实现的思想来源于Google,目前已实现分布式crawler,和分布式检索,已经有人用他抓了几亿的网页,nutch功能包括了下载网页,解析网页,计算网页重要度,建索引,前台搜索等一个搜索引擎需要的绝大部分功能,用他来做站内搜索也很方便.该软件支持中文. nutch目前稳定的版本是0.7.2 用该软件的缺点是网上的中文资料不多.你要习惯看英文资料

信息来源:
http://zhidao.baidu.com/question/5762713.html
叶子 2011-09-07
  • 打赏
  • 举报
回复
chenlei1700 2011-09-07
  • 打赏
  • 举报
回复
那样的话就不是及时更新的了
没收录的就找不到了
我想做一个及时搜索的,不需要搜索很多网页,最多1000个
想直接用htmlparser包解析里边的字句和url ,边解析边检索,不知道可不可行。
担心检索速度慢
Lucenedonet 2011-09-07
  • 打赏
  • 举报
回复
直接用百度站内搜索就ok了!
chenlei1700 2011-09-07
  • 打赏
  • 举报
回复
十分感谢你的回复

抛开开发语言不说
我现在担心的是执行速度问题

因为我是把它做成浏览器插件的形式,所以不可能预先把全因特网的网页全预先提取到本地。
所以保存网页 建立索引 ,再加上搜索的时间我怕会很长
我这样做的话搜索时间能在10秒以内完成么?
谢谢

2,760

社区成员

发帖
与我相关
我的任务
社区描述
搜索引擎的服务器通过网络搜索软件或网络登录等方式,将Internet上大量网站的页面信息收集到本地,经过加工处理建立信息数据库和索引数据库。
社区管理员
  • 搜索引擎技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧