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

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

阅读更多

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


    1 IndexWriter 的构造器

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

    这个方法需要替换为

    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中被删除
    新的搜索代码如下

          IndexSearcher isearcher = new IndexSearcher(indexPath);
          BooleanClause.Occur[] clauses = { BooleanClause.Occur.SHOULD, BooleanClause.Occur.SHOULD };

          TopDocCollector collector = new TopDocCollector(10); // 启用这个
          Query query = MultiFieldQueryParser.parse(queryString, new String[] { "subject", "content" }, clauses, getAnalyzer());
          isearcher.search(query, collector); // 作为参数
          ScoreDoc[] hits = collector.topDocs().scoreDocs; // 拿到结果
          List<Long> rtn = new ArrayList<Long>();
          Long id;
          Long idParent;
          int docId;
          for (int i = 0; i < hits.length; i++) { // 循环
            docId = hits[i].doc; // 一个内部编号
            Document doc = isearcher.doc(docId); // 通过编号,拿到文档
          }
分享到:
评论

相关推荐

    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 庖丁解牛分词法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