全文检索方案讨论

来源:互联网 发布:淘宝专业敲诈三无产品 编辑:程序博客网 时间:2024/04/30 10:30
全文检索方案:

1. Lucene
2. sphinx
3. Solr(基于Lucene)
4. CoreSeek(基于sphinx)


方案1.
Lucene是一套用于全文检索和搜寻的开源程式库,由Apache软件基金会支持和提供。在Java开发环境里Lucene是一个成熟的免费开放源代码工具。
想用Lucene的朋友可以参考下SourceForge上的开源项目WebLucene.
WebLucene工作流程如下: 
将数据用脚本导出成XML格式; 
将XML数据源导入LUCENE索引; 
从WEB界面得到XML结果输出,并通过XSLT生成HTML页面

参考车东网站:http://www.chedong.com/tech/weblucene.html


方案2: 
Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等,同时为MySQL也设计了一个存储引擎插件。
Sphinx 单一索引最大可包含1亿条记录,在1千万条记录情况下的查询速度为0.x秒(毫秒级)。Sphinx创建索引的速度为:创建100万条记录的索引只需 3~4分钟,创建1000万条记录的索引可以在50分钟内完成,而只包含最新10万条记录的增量索引,重建一次只需几十秒。

参考:http://iamcaihuafeng.blog.sohu.com/160584457.html


方案3:
Apache Solr是一个开源的搜索服务器。Solr 使用 Java 语言开发,主要基于 HTTP 和 Apache Lucene 实现。


方案4就不介绍了。

建议还是在前三种中选择一种,像Oschina采用的是Lucene。


官网:
1.Sphinx: http://sphinxsearch.com/
2.Lucene: http://lucene.apache.org/
3.Solr:   http://lucene.apache.org/solr/
2.CoreSeek:http://www.coreseek.cn/news/14/52/