[align=center][size=x-large][color=red]lucene3.0.0 入门实例 创建索引 查询.[/color][/size][/align]package com.txt.test2;
import java.io.File; import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.document.Field.Index; import org.apache.lucene.document.Field.Store; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.IndexWriter.MaxFieldLength; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.search.IndexSearcher; import org.apache.lucene.search.Query; import org.apache.lucene.search.ScoreDoc; import org.apache.lucene.search.TopDocs; import org.apache.lucene.store.Directory; import org.apache.lucene.store.SimpleFSDirectory; import org.apache.lucene.util.Version; import org.junit.Test; public class LuceneTest { String txt1 = "holle world chengdu"; String txt2 = "holle world sichuang chengdu"; String txt3 = "holle world sichuang chengdu chengdu"; String txt4 = "holle world sichuang chengdu chengdu chengdu"; private File file = new File("f:" + File.separator + "indexDir6"); @Test public void create() throws Exception { // 索引库存储目录 Directory directory = new SimpleFSDirectory(file); // 创建词元分析器 Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_30); // 创建索引器 IndexWriter writer = new IndexWriter(directory, analyzer, true, MaxFieldLength.LIMITED); // 创建文档 /** * 参数1 : 字段名称 相当于数据库的字段名称 参数2 :数据源名称 参数3 : 是否要把数据源名称存储到索引库中Store.YES 参数4 * : 是否要使用分词器作分析Index.ANALYZED */ Document document = new Document(); document.add(new Field("content", txt1, Store.YES, Index.ANALYZED)); Document document2 = new Document(); document2.add(new Field("content", txt2, Store.YES, Index.ANALYZED)); Document document3 = new Document(); document3.add(new Field("content", txt3, Store.YES, Index.ANALYZED)); Document document4 = new Document(); document4.add(new Field("content", txt4, Store.YES, Index.ANALYZED)); writer.addDocument(document); writer.addDocument(document2); writer.addDocument(document3); writer.addDocument(document4); writer.close(); } @Test public void search() throws Exception { // 索引存储目录 Directory directory = new SimpleFSDirectory(file); // 创建查询器 IndexSearcher searcher = new IndexSearcher(directory, true); // 创建查询解析器 对文档document的content字段进行查询 QueryParser parser = new QueryParser(Version.LUCENE_30, "content", new StandardAnalyzer(Version.LUCENE_30)); //创建查询类 String key = "chengdu"; Query query = parser.parse(key); //获取钱n位索引 TopDocs tDocs = searcher.search(query, 100); System.out.println("关键字"+key+"一共有"+tDocs.totalHits+"条记录索引."); for(int i = 0; i<tDocs.scoreDocs.length; i++){ ScoreDoc sDoc = tDocs.scoreDocs[i]; System.out.println("文档编号的索引:"+sDoc.doc); System.out.println("得分:"+sDoc.score); Document document = searcher.doc(sDoc.doc); System.out.println("内容是:"+document.get("content")); } searcher.close(); } }
相关推荐
总的来说,Lucene 3.0.0入门DEMO是一个很好的起点,它可以帮助新手快速了解和实践Lucene的基本用法。通过实际操作,你可以更好地掌握Lucene的索引构建和搜索机制,从而在自己的项目中灵活运用。
Lucene的工作流程主要包括索引创建、索引读取和搜索三个阶段: - 创建索引:使用Analyzer处理文档,生成Token流,然后通过IndexWriter写入索引。 - 读取索引:使用IndexReader打开已有的索引文件。 - 搜索:Searcher...
"luceneTest"项目可能是博主为展示Lucene基本功能而创建的一个简化的演示,涵盖索引创建、文档添加、查询构建和执行搜索的过程。通过这样的实例,学习者可以快速理解Lucene的工作流程,并为更复杂的应用场景打下基础...
3. **多线程支持**:在3.0.0版本中,Lucene加强了多线程处理能力,支持并发索引和查询,使得在多核环境下性能得以充分利用。 4. **改进的内存管理**:对内存使用进行了优化,降低了内存占用,减轻了对系统资源的...
《Apache Lucene 3.0.0 源码解析》 Apache Lucene 是一个开源全文搜索引擎库,它为开发者提供了强大的文本搜索功能。在这个版本3.0.0的源码中,我们可以深入理解Lucene的核心机制和设计原理,这对于开发、优化以及...
- **执行查询**:使用命令`java org.apache.lucene.demo.SearchFiles`,之后会提示输入查询关键字,按回车键后即可显示查询结果。 **2. Web 应用程序** - **部署 Lucene Web 应用**: - 将`lucene-core-3.0.0.jar...
The new version is mostly a cleanup release without any new features. All deprecations targeted to be removed in version 3.0 were removed.
**Lucene 3.0 入门实例** Lucene 是一个高性能、全文本搜索库,由 Apache 软件基金会开发。它提供了完整的搜索功能,包括索引、查询解析、排序以及高级的文本分析能力。在 Lucene 3.0 版本中,开发者可以利用其强大...
【课程大纲】01.Lucene4入门精通实战课程-概述 共23页02.Lucene系统架构 共16页03.Lucene索引里有什么 共17页04.Lucene索引深入 共24页05.Lucene索引深入优化 共10页06.Lucene索引搜索 共13页07.Lucene搜索实战1 共4...
**Lucene5学习之创建索引入门示例** 在IT领域,搜索引擎的开发与优化是一项关键技术,而Apache Lucene作为一款高性能、全文本搜索库,是许多开发者进行文本检索的首选工具。本文将深入探讨如何使用Lucene5来创建一...
以上就是Lucene索引器实例的基本介绍,通过这个实例,我们可以理解到如何使用Lucene来创建、管理和搜索文本索引。在实际项目中,可以根据需求选择合适的存储(如硬盘目录或分布式存储)、优化分析器配置、处理大量...
而 `lucene3.0.0` jar 包则是 Lucene 的一个重要版本,发布于2009年,它提供了丰富的文本分析、索引构建和搜索功能。此版本引入了一些新的特性,优化了性能,并修复了一些已知问题。 在 Lucene 3.0.0 中,主要包含...
【课程大纲】01.Lucene4入门精通实战课程-概述 共23页02.Lucene系统架构 共16页03.Lucene索引里有什么 共17页04.Lucene索引深入 共24页05.Lucene索引深入优化 共10页06.Lucene索引搜索 共13页07.Lucene搜索实战1 共4...
【课程大纲】01.Lucene4入门精通实战课程-概述 共23页02.Lucene系统架构 共16页03.Lucene索引里有什么 共17页04.Lucene索引深入 共24页05.Lucene索引深入优化 共10页06.Lucene索引搜索 共13页07.Lucene搜索实战1 共4...
【课程大纲】01.Lucene4入门精通实战课程-概述 共23页02.Lucene系统架构 共16页03.Lucene索引里有什么 共17页04.Lucene索引深入 共24页05.Lucene索引深入优化 共10页06.Lucene索引搜索 共13页07.Lucene搜索实战1 共4...
【课程大纲】01.Lucene4入门精通实战课程-概述 共23页02.Lucene系统架构 共16页03.Lucene索引里有什么 共17页04.Lucene索引深入 共24页05.Lucene索引深入优化 共10页06.Lucene索引搜索 共13页07.Lucene搜索实战1 共4...
【课程大纲】01.Lucene4入门精通实战课程-概述 共23页02.Lucene系统架构 共16页03.Lucene索引里有什么 共17页04.Lucene索引深入 共24页05.Lucene索引深入优化 共10页06.Lucene索引搜索 共13页07.Lucene搜索实战1 共4...
【课程大纲】01.Lucene4入门精通实战课程-概述 共23页02.Lucene系统架构 共16页03.Lucene索引里有什么 共17页04.Lucene索引深入 共24页05.Lucene索引深入优化 共10页06.Lucene索引搜索 共13页07.Lucene搜索实战1 共4...