`
eimhee
  • 浏览: 2176011 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Lucene 2.4里一些过期方法的解决方案

阅读更多
原文地址: http://www.java2000.net/p11814

今天更新网站的搜索引擎到Lucene 2.4.0 ,这个是 2008年10月8日发布的版本,结果发现许多方法和类被声明为过期(@deprecated),且某些方法和类被声明在3.0引擎中将被删除。我这里只写出自己用到的几个方法和类,并替换为新版本的。


1 IndexWriter 的构造器
  1. IndexWriter writer = new IndexWriter(indexPath, getAnalyzer(), true);  
其中
indexPath 为目录,是一个字符串,
getAnalyzer()是分析器
true 代表重建索引

这个方法需要替换为
  1. IndexWriter writer = new IndexWriter(indexPath, getAnalyzer(), true, IndexWriter.MaxFieldLength.UNLIMITED);
其中前面三个完全相同,
第四个参数代表允许的最大字段长度,UNLIMITED代表不限制长度


2 Field.Index.UN_TOKENIZED
这个被替换为
Field.Index.NOT_ANALYZED
没啥特殊的,改了一个名字而已

Field.Index.TOKENIZED 替换为 Field.Index.ANALYZED

3 IndexWriter.flush();
替换为
IndexWriter.commit();

4 org.apache.lucene.search.Hits;
这个类将在3.0中被删除
新的搜索代码如下
  1.       IndexSearcher isearcher = new IndexSearcher(indexPath);
  2.       BooleanClause.Occur[] clauses = { BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD };
  3.       TopDocCollector collector = new TopDocCollector(10); // 启用这个
  4.       Query query = MultiFieldQueryParser.parse(queryString, new String[] { "subject""content" }, clauses, getAnalyzer());
  5.       isearcher.search(query, collector); // 作为参数
  6.       ScoreDoc[] hits = collector.topDocs().scoreDocs; // 拿到结果
  7.       List<Long> rtn = new ArrayList<Long>();
  8.       Long id;
  9.       Long idParent;
  10.       int docId;
  11.       for (int i = 0; i < hits.length; i++) { // 循环
  12.         docId = hits[i].doc; // 一个内部编号
  13.         Document doc = isearcher.doc(docId); // 通过编号,拿到文档
  14.       }

以上是我用到的几个修改的地方,希望对大家有帮助

分享到:
评论
1 楼 rockethj8 2010-10-14  
刚好用到,很多被废弃了~!

相关推荐

    Lucene 2.4 入门例子

    在这个入门例子中,我们将探讨Lucene 2.4版本的一些关键特性和如何构建一个基本的搜索系统。 ### 一、Lucene 2.4 的改进与性能提升 在Lucene 2.4版本中,主要的改动和性能提升包括: 1. **优化索引构建速度**:...

    Lucene2.4入门总结

    本文将重点介绍 Lucene 2.4 版本的基本概念和使用方法,帮助初学者快速入门。 ### 一、Lucene 概述 1. **核心概念**:Lucene 的主要组件包括索引(Index)、文档(Document)、字段(Field)和查询(Query)。索引...

    lucene 2.4 jar

    lucene 2.4 jar lucene2.4版本的JAR包

    java拼车网雏形(Ext2.0+SSH+oracle10g+lucene2.4)

    【标题】"java拼车网雏形(Ext2.0+SSH+oracle10g+lucene2.4)" 涉及的核心技术是Java Web开发中的几个关键组件,包括ExtJS 2.0前端框架,Spring、Struts2和Hibernate(SSH)后端框架,Oracle 10g数据库以及Lucene ...

    lucene2.4+nutch学习笔记三:lucene 在多个文本文档里找出包含一些关键字的文档

    《Lucene 2.4与Nutch学习笔记:在多文本文档中搜索关键词》 Lucene是一个高性能、全文本搜索引擎库,它为开发者提供了在Java应用程序中实现全文搜索功能的基本工具。Nutch则是一个开源的网络爬虫项目,用于抓取...

    ictclas4j for lucene 2.4

    ictclas4j for lucene 2.4 任何人不得将此用于商业用途,仅限个人学习研究之用.该开源项目遵循Apache License 2.0

    Lucene2.4完美样例+中文文档

    **Lucene 2.4 完美样例与中文文档详解** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发。它为开发者提供了在 Java 应用程序中实现全文检索功能的强大工具。Lucene 2.4 版本是其历史上的一个重要...

    庖丁解牛 源码 for Lucene 2.4

    《庖丁解牛 源码 for Lucene 2.4》是一份针对开源全文搜索引擎Lucene 2.4版本的深度解析资料。这个压缩包包含的文件名为"paoding-for-lucene-2.4",很可能是针对中文处理的Paoding Lucene库的源代码分析或扩展。...

    struts2 + spring2.5 + hibernate 3.2 + lucene 2.4 + compass 2.0产品搜索

    struts2 + spring2.5 + hibernate 3.2 + lucene 2.4 + compass 2.0 包含所有jar包,按readme.txt导入并运行即可 开始不用分了................

    Lucene_2.4.CHM

    lucene2.4手册,是开发搜索引擎的好帮手.

    Lucene.net3.0+PanGu2.4.zip

    支持net4.0环境下运行,Lucene.net版本为3.0,PanGu版本为2.4

    Lucene2.4.1

    《深入剖析Lucene 2.4.1:核心与示例》 Lucene是一个高性能、全文检索库,它由Apache软件基金会开发并维护。作为Java编写的一个开源项目,Lucene为构建复杂的搜索功能提供了强大的工具集。本次我们将深入探讨Lucene...

    lunence2.4例题

    【压缩包子文件的文件名称列表】"lucence2.4"很可能包含了与Lucene 2.4相关的源代码、文档、测试用例或者解决方案文件。这些文件可以帮助学习者深入了解每个例题的实现细节,动手操作以加深理解。 在Lucene 2.4中,...

    论文lucene和heritrix的全文检索解决方案

    在本文中,作者提出了一个基于网络爬虫Heritrix和开源全文检索库Lucene的全文检索解决方案,特别适用于整合到Java EE项目中,以实现高效的信息检索功能。 Heritrix是一个用Java编写的开源Web网络爬虫,它具有高度可...

    Lucene 庖丁解牛分词法2.4版本jar包

    总的来说,"庖丁解牛分词法"为Lucene提供了一种高效的中文分词解决方案,显著提升了中文信息检索的准确性和用户体验。通过不断优化和更新,如"paoding-analysis-2.0.4-alpha2"这样的分词工具,使得开发者能够更好地...

    基于lucene2.4.0的开发jar包

    《深入剖析Lucene 2.4.0:核心与扩展》 Lucene是一个开源全文搜索引擎库,由Apache软件基金会开发并维护。在2.4.0版本中,Lucene为开发者提供了一套强大的文本检索和分析工具,使得构建高效、可扩展的搜索应用成为...

    Lucene.net2.4.0

    总的来说,Lucene.NET 2.4.0是一个强大且易用的全文搜索解决方案,它简化了.NET开发者在构建搜索引擎时的复杂工作,让开发者能专注于业务逻辑,而非底层实现。通过深入了解和熟练应用Lucene.NET,开发者可以构建出...

    lucene-2.3.1.jar

    《Lucene 2.3.1.jar:洞察...开发者可以借助这个版本的Lucene,构建出功能强大、性能优异的搜索解决方案,满足各种业务需求。在未来,随着技术的不断演进,我们期待Lucene在搜索领域继续发挥重要作用,引领创新潮流。

    几种常见的基于Lucene的开源搜索解决方案对比

    几种常见的基于Lucene的开源搜索解决方案对比,大家参考一下。

Global site tag (gtag.js) - Google Analytics