应用场景:
一台WEB服务器(apache) + 两台应用服务器集群(AIX系统) + DB
系统中论坛模块需要提供全文检索功能,由于是企业内部论坛,其索引的更新与查询频率较低(无非主题帖和回帖),且数据量不大(后期也很难超过1G)
关注点:
分布式索引: Lucene 未内置对分布式索引的支持
模块移植性: 能方便的将全文检索功能模块移植到其它系统中.
目前想到的和google到的解决方案如下:
1. Solr
优点: 基于Lucene,支持集群,易上手,其它忽略
缺点: 从Apache Solr项目描述上可符合功能要求,但未使用过Solr,缺乏其可行性评估 ; 似乎无法处理单结点故障(不确定)
2. Lucene + RMI
在DB服务器(或其它服务器)部署RMI服务端,并将索引建立于该服务器上.索引的更新和查询都走RMI
优点: 易于实现
3. Lucene+NFS
类似于Lucene+RMI部署架构,由于索引数据量不大,检索时可采用RAMDirectory.
优点: 易于实现
缺点: 未使用过此类架构,对其网络延迟等问题缺乏评估
4. Lucene+Hadoop
利用Hadoop建立分布式文件系统.本人对Hadoop不熟悉,对此方案的可行性无法评估.
若有牛人成功实施过此方案,还望提供相关经验和资料. 如果此方案可行,本人非常希望借此机会学习Hadoop.
5. Sphinx
功能很强大,遗憾的是Sphinx并不提供Java 编程API,需要绕道.
6. nutla
从其项目介绍来看,似乎能满足要求,但最新版本为1.0a9,风险很大
从实现难易程度来看,倾向于方案3 ; 从可靠性和扩展性来看,倾向于方案2(对方案4不够了解) .
希望路过的大牛能对以上方案给个评估,以免本人多走弯路. 若有更好的解决方案,望不吝赐教.
附参考资料:
Lucene : http://lucene.apache.org/
Solr : http://lucene.apache.org/solr/
Hadoop : http://hadoop.apache.org/common/docs/r0.19.2/cn/hdfs_design.html
NFS : http://jqs.itpub.net/post/140/479176
http://autumnice.blog.163.com/blog/static/5552002007102924734853/
Sphinx : http://hi.baidu.com/topcompanyjobs/blog/item/dcd606dcb2bfa5df8d102990.html
MG4J : a free full-text search engine for large document collections written in Java
http://mg4j.dsi.unimi.it/#install
JAVAEYE : http://edwardpro.iteye.com/blog/183686 lucene的前端集群思路
http://www.kuqin.com/searchengine/20080324/5055.html 为什么说Lucene不好 (原javaeye链接已经失效)
Javabloger : http://www.javabloger.com/article/distributed-lucene-cluster.html lucene的分布式搜索-入门篇
nutla : http://code.google.com/p/nutla/
http://www.blogjava.net/nianzai/archive/2010/10/27/336255.html
其它:
1. 从数据库端入手,系统数据库采用IBM DB2,从网上搜索到 IBM OmniFind 似乎具备检索查询功能,请使用过该工具的大大们给个说法,谢谢.
2. God Bless Me , 最好只使用一台应用服务器.
分享到:
相关推荐
### SQL Server全文检索对文本内容进行检索的三个方案详解 #### 方案一:结合Windows索引服务进行全文检索 在Windows环境下,SQL Server利用Windows索引服务(Indexing Service)来实现对文件内容的全文检索功能,...
在此背景下,国家计委纵向网全文检索系统应用方案的提出,旨在构建一套高效、安全、灵活的信息交流平台,以满足国家计委与各省级计委之间信息共享和业务协同的需求。本文将深入解析该系统的应用方案,探讨其设计特点...
"全文检索系统整体方案" 本文档介绍了一个全文检索系统的整体方案,该方案旨在提供一个高效、准确、实时的信息检索系统,满足企业内部信息管理的需求。 1.1 全文检索需求 该系统需要满足以下几个方面的需求: * ...
在SQL Server 2005中,全文检索是数据库系统中的一个重要特性,它允许用户执行复杂的文本搜索,提高数据检索的效率。然而,正如标题所提及的,SQL Server 2005的全文检索功能存在一些已知的问题,尤其是与SQL Server...
这些解决方案可以帮助开发者实现中文全文检索,提高搜索效率和准确性。但是,这些解决方案也存在一些缺点,例如,转换时间过长、检索词的长度有限等。因此,我们需要根据实际情况选择合适的解决方案。
全文检索系统需满足多种检索方式,包括模糊检索、分类搜索、高级复合搜索、全文检索、图片内容检索和跨库检索。系统支持字索引和词索引,同时具备关键词布尔逻辑运算功能,如AND、OR、NOT,以及复合式布尔逻辑运算,...
总的来说,这个“excel全文检索工具”利用了Apache Lucene的强大功能,为处理Excel数据提供了方便的搜索解决方案,尤其适用于需要高效搜索大量Excel数据的场景。虽然可能是一个相对简单的实现,但仍然能够满足一定的...
区块链上支持多关键字检索的可搜索加密方案 本文档主要介绍了一种基于区块链技术的多关键字可搜索加密方案,该方案旨在解决云存储中单关键字检索的限制和云服务器不诚实搜索的问题。下面是该方案的详细介绍: 首先...
亿级海量数据搜索,检索方案 [IndexOnly] [Directory ('d:\test11\VEnglishNews\')] [DBTableName ('VEnglishNews')] [DBAdapter ('SQLSERVER2005')] [DBConnect ('Data Source=(local);Initial Catalog=Test;...
"全文检索jar包含ik分词jar"这一描述揭示了一个基于Java的全文检索解决方案,其中包含了Lucene搜索引擎库和IK Analyzer中文分词器。这样的组合使得开发者能够轻松地处理中文文本,构建出高效、精准的全文检索系统。...
全文检索系统整体方案.pdf