`
- 浏览:
378106 次
- 性别:
- 来自:
北京
-
今天更新网站的搜索引擎到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); // 通过编号,拿到文档
}
分享到:
Global site tag (gtag.js) - Google Analytics
相关推荐
在这个入门例子中,我们将探讨Lucene 2.4版本的一些关键特性和如何构建一个基本的搜索系统。 ### 一、Lucene 2.4 的改进与性能提升 在Lucene 2.4版本中,主要的改动和性能提升包括: 1. **优化索引构建速度**:...
本文将重点介绍 Lucene 2.4 版本的基本概念和使用方法,帮助初学者快速入门。 ### 一、Lucene 概述 1. **核心概念**:Lucene 的主要组件包括索引(Index)、文档(Document)、字段(Field)和查询(Query)。索引...
lucene 2.4 jar lucene2.4版本的JAR包
【标题】"java拼车网雏形(Ext2.0+SSH+oracle10g+lucene2.4)" 涉及的核心技术是Java Web开发中的几个关键组件,包括ExtJS 2.0前端框架,Spring、Struts2和Hibernate(SSH)后端框架,Oracle 10g数据库以及Lucene ...
《Lucene 2.4与Nutch学习笔记:在多文本文档中搜索关键词》 Lucene是一个高性能、全文本搜索引擎库,它为开发者提供了在Java应用程序中实现全文搜索功能的基本工具。Nutch则是一个开源的网络爬虫项目,用于抓取...
ictclas4j for lucene 2.4 任何人不得将此用于商业用途,仅限个人学习研究之用.该开源项目遵循Apache License 2.0
**Lucene 2.4 完美样例与中文文档详解** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发。它为开发者提供了在 Java 应用程序中实现全文检索功能的强大工具。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 包含所有jar包,按readme.txt导入并运行即可 开始不用分了................
lucene2.4手册,是开发搜索引擎的好帮手.
支持net4.0环境下运行,Lucene.net版本为3.0,PanGu版本为2.4
《深入剖析Lucene 2.4.1:核心与示例》 Lucene是一个高性能、全文检索库,它由Apache软件基金会开发并维护。作为Java编写的一个开源项目,Lucene为构建复杂的搜索功能提供了强大的工具集。本次我们将深入探讨Lucene...
【压缩包子文件的文件名称列表】"lucence2.4"很可能包含了与Lucene 2.4相关的源代码、文档、测试用例或者解决方案文件。这些文件可以帮助学习者深入了解每个例题的实现细节,动手操作以加深理解。 在Lucene 2.4中,...
总的来说,"庖丁解牛分词法"为Lucene提供了一种高效的中文分词解决方案,显著提升了中文信息检索的准确性和用户体验。通过不断优化和更新,如"paoding-analysis-2.0.4-alpha2"这样的分词工具,使得开发者能够更好地...
《深入剖析Lucene 2.4.0:核心与扩展》 Lucene是一个开源全文搜索引擎库,由Apache软件基金会开发并维护。在2.4.0版本中,Lucene为开发者提供了一套强大的文本检索和分析工具,使得构建高效、可扩展的搜索应用成为...
总的来说,Lucene.NET 2.4.0是一个强大且易用的全文搜索解决方案,它简化了.NET开发者在构建搜索引擎时的复杂工作,让开发者能专注于业务逻辑,而非底层实现。通过深入了解和熟练应用Lucene.NET,开发者可以构建出...
《Lucene 2.3.1.jar:洞察...开发者可以借助这个版本的Lucene,构建出功能强大、性能优异的搜索解决方案,满足各种业务需求。在未来,随着技术的不断演进,我们期待Lucene在搜索领域继续发挥重要作用,引领创新潮流。
几种常见的基于Lucene的开源搜索解决方案对比,大家参考一下。