论坛首页 编程语言技术论坛

打算要用Python做个练习javaeye的静态索引版本

浏览 12392 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2005-05-09  
因为觉得javaeye的内容有不少值得再看看,以及需要进行查找,其中有很多的内容都是挺“旧”的内容,于是就想要做一个离线版的,静态文本。当然为了方便使用需要一个全文的检索。

这阵子正学习Python,于是就想要做这个一个东东。
最后还可以考虑将其制作一个bt下载包,比如2005年5月以前的版本……长远的看,应该还能够减少javaeye服务器的压力吧?
   发表时间:2005-05-09  
正常的浏览器访问服务器访问造成的压力是很小的,给服务器带来压力的恰恰是多线程下载工具和抓网页之类的东西。
0 请登录后投票
   发表时间:2005-05-09  
我也在考虑这个问题,所以抓网页这部分程序写完就不发布了,只发布将内容做索引的部分程序吧。

现在的目标还是练习,是否会有用处在观察吧。
0 请登录后投票
   发表时间:2005-05-09  
JavaEye论坛上面的帖子内容都是有版权声明的(作者和论坛都是版权所有者),你做这样的工具用意是好的,但是应该对这个问题有所考虑。
0 请登录后投票
   发表时间:2005-05-09  
那怎么办才好呢?有没有可能性发布?
0 请登录后投票
   发表时间:2005-05-09  
呵呵,绕道过去啊?
0 请登录后投票
   发表时间:2005-05-21  
python 版本 lucene
http://pylucene.osafoundation.org/

————
参考资料:
pylucene的maillist归档:
http://lists.osafoundation.org/pipermail/pylucene-dev/
0 请登录后投票
   发表时间:2005-05-23  
问题分析及相关调查:
   我们先确定一下做事情的原则。
   在理解问题的阶段和进行实际工作的阶段,所需要遵循的原则是不同的。在实际进行一个项目的时候,尽量利用别人的成果是非常重要的原则,不要重复的发明轮子。
   在理解问题的阶段,尤其是对于自己并不是非常了解的内容(领域),尽量将问题简化,并且找到问题的关键,本质所在,了解现有轮子比较general的抽象,自己做一个轮子etc。
  
   首先让我们看看什么是全文检索。
   为什么?
   我以前曾经以为全文检索就是按顺序查呗:)为什么还要搞这样的一个名词?仔细一想才发现,线性搜索所需要的时间是O(n),随着内容的增加需要的搜索时间越来越长,甚至于进行一个简单的查找需要数分钟或者数小时,这怎么可以忍受?而且没有办法对查询条件进行组合,怎么办?采用惯用的以空间换取时间的方法,比如通过按位置存储以达到方便查找的目标,将待查的内容按照查询的可能进行划分(分成词),记录下来其出现的位置,以供查询时使用,这个就是全文检索的建立索引阶段。然后你可能会问,我怎么保证自己纪录的可以很快的查询呢?要求查询的文字,是按照自己的逻辑组织的,你不能够打乱他们,但你建立的索引却只是为了检索使用,你可以按照自己的要求来组织他们啊,比如将他存到数据库中,在词上面建立数据库索引等。


  全文检索基本的概念的内容就是对文章按照词进行划分,通过对词的使用频度等的分析,达到比较快速的查找和比较高的命中率。

  要对论坛内容(或者一个网站)进行全文检索,还需要进行的工作就是网页的抓取(crawl),编写程序对一个网站内的网页按照一定的规则进行抓取,然后就是保存下来,建立索引以备查找了。查找时候的界面是另外的一个问题,比如你可以象python doc那样,或者google的desktop search那样,做成web-based。


————
参考资料:
可爱的 Python: 在 Python 下开发全文索引

http://www-128.ibm.com/developerworks/cn/linux/sdk/python/charm-13/

by David Mertz 博士

该文附带的indexer功能非常基础,而且只是针对进行切词(依据空格进行判断)。软件设计的记录非常清晰,编写自己的indexer或者spliter都很容易。
但离成熟可用还有很长的距离,所以“设计良好”只是软件能够成功的很必要的一个条件而已,离充分条件是在还有太多差距。

车东的一篇关于lucene的文章
http://www.chedong.com/tech/lucene.html
虽然是关于lucene的,但是对于理解搜索引擎,还是很有帮助,在很多地方有转载。
0 请登录后投票
   发表时间:2005-08-04  
不知道gKarerM兄弟做的怎么样了?方便给个Hello World级别的例子给在下学习学习么?

要做个站内全文检索,郁闷中........赫赫

等我把这个东西学好了争取把JavaEye里的这个相关的BUG给修复了~~~嚯嚯
0 请登录后投票
   发表时间:2005-08-18  
最近没时间搞这个,关键发现还是在多了解一点儿好了,如果用pylucene的话,在那个文档里面能看到例子,订阅一些maillist,能看到很多和你相同的需求。。

使用apache+ mod_python,然后用pylucene建立索引和查询。这个就是直接找到相关indexer调用就行了
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics