Lucene多线程操作实现对于并发,Lucene遵循以下规则: 1.允许任意多的读操作并发,即任意数量用户可同时对同一索引做检索操作。2.即便正在进行索引修改操作(索引优化、添加文档、删除文档),依然允许任意多的检索操作并发执行。3.不允许并发修改操作,也就是说同一时间只允许一个索引修改操作。Lucene内部已经对多线程安全进行了处理,很多操作都使用了lock进行多线程同步锁定。只要遵循一定的规则,就可以在多线程环境下安全运行Lucene。
Lucene是apache软件基金会 jakarta项目组的一个子项目,是一个开放源代码的全文检索引擎工具包及架构,提供了完整的查询引擎和索引引擎,实现了一些通用的分词算法,预留很多词法分析器接口。本文以myrss.easyjf.com网站系统中使用Lucene实现全文检索的代码为例,简单演示Lucene在实际项目中的应用。<br> 使用Lucene实现全文检索,主要有下面三个步骤:<br> 1、建立索引库:根据网站新闻信息库中的已有的数据资料建立Lucene索引文件。<br> 2、通过索引库搜索:有了索引后,即可使用标准的词法分析器或直接的词法分析器实现进行全文检索。<br> 3、维护索引库:网站新闻信息库中的信息会不断的变动,包括新增、修改及删除等,这些信息的变动都需要进一步反映到Lucene索引文件中。