Posted on 16-04-2013
Filed Under (技术) by waterlin

对数据库或是服务器上的文件进行全文检索,肯定是一个常用的需求。有关全文检索的基本原理和概念,可以看看这篇文章

做全文检索的开源代码,现在已经有很多,可以试情况选择。

  1. Apache Lucene

    大名鼎鼎,但是是用 Java 写的,估计很多人都不喜欢 Java,反正我一看到 Java 就觉得烦。

    另外,它有多种接口的封闭,PyLucene 或是 Lucene.Net。Lucene.Net 还可以,不难用,但是 PyLucene 我基本上连怎么安装都没搞清楚,官方文档太烂,并且,讨厌 Ant 这个东西。

    由 Lucene 衍生出来的还有 Apache solr 工程,这个是一个完整的全文检索解决方案。

  2. Xapian

    C++ 写的,还提供多种语言版本的接口,感觉这个是个不错的选择。

  3. Sphinx

    C++ 写的,但是官网做得太烂,配色差、内容不好找,都没啥兴趣看下去。

  4. 爬虫工具 Nutch

    从网上抓取内容,再用上述类似 Lucene 的工具进行检索,可以使用 Apache Nutch 来作为爬虫工具。

    然后,配合 Nutch 和 Solr 来进行搜索

  5. Whoosh

    Python 版本的全文检索库,全用 Python 写的,喜欢 Python 的人估计会比较喜欢。

    因为安装和使用都比较简单,还跨平台,可以用来做一些原型系统,或是检索的算法学习等。

    至于性能,好像没有看到有人贴和 Lucene 的对比。

    可以使用 Scrapy 来建立一个爬虫系统,并且和 Whoosh 结合使用,来进行搜索。

© 2013, 浏忙大爆炸. All rights reserved.
除非注明,浏忙大爆炸文章均为原创,转载请以链接形式标明本文地址。

Post a Comment
Name:
Email:
Website:
Comments: