`
tfkbyhq
  • 浏览: 5654 次
  • 性别: Icon_minigender_1
  • 来自: 成都
最近访客 更多访客>>
社区版块
存档分类
最新评论

lucene的一简单例子

阅读更多
1.引入lucene包,用到了Junit,包搞进来就可以了
2.先跑建立索引文件的单元测试,有了索引才能查询嘛,然后在跑下面的检索数据方法
3.目录根据自己需要更改哦
private final String indexPath = "E:/lucene";
private final String searchPath = "E:/123";

	@Test
	/**
	 * 建立索引文件
	 */
	public void createIndexFiles() throws Exception {
		Directory d = new SimpleFSDirectory(new File(indexPath));// 创建索引的目录
		IndexWriter iw = new IndexWriter(d, new StandardAnalyzer(
				Version.LUCENE_29), true, MaxFieldLength.UNLIMITED);
		File f = new File(searchPath);// 要检索的目录
		addToWriter(f, iw);
		iw.close();
	}

	/**
	 * 递归调用检索文件夹
	 * 
	 * @param f
	 * @param iw
	 * @throws Exception
	 */
	public void addToWriter(File f, IndexWriter iw) throws Exception {
		if (f.isDirectory()) {
			File[] files = f.listFiles();
			for (int i = 0; i < files.length; i++)
				addToWriter(files[i], iw);
		} else if (f.getName().endsWith(".html")
				|| f.getName().endsWith(".txt")) {
			Document doc = new Document();
			/**
			 * Store.YES 存储 Index.NO 词法分析器不在解析此Field
			 */
			doc.add(new Field("title", f.getName(), Store.YES, Index.NO));
			doc.add(new Field("content", new FileReader(f)));
			iw.addDocument(doc);
		}
	}

	/**
	 * 检索数据
	 * 
	 * @throws Exception
	 */
	@Test
	public void search() throws Exception {
		Directory d = new SimpleFSDirectory(new File(indexPath));
		IndexSearcher search = new IndexSearcher(d, true);
		QueryParser qp = new QueryParser(Version.LUCENE_29, "content",
				new StandardAnalyzer(Version.LUCENE_29));
		/**
		 * 检索关键字,其实Google地址栏里就是输入的这里哦,当然Google肯定是自己公司的搜索技术,这里只是举例
		 */
		Query query = qp.parse("content");
		TopDocs tp = search.search(query, 100);
		System.out.println("检索到:" + tp.totalHits + "个文件包含此数据");
		for (int i = 0; i < tp.scoreDocs.length; i++) {
			int num = tp.scoreDocs[i].doc;
			Document doc = search.doc(num);
			System.out.println("文件名为:" + doc.get("title"));
		}
	}


分享到:
评论

相关推荐

    第一个lucene的简单实例....

    标题 "第一个lucene的简单实例" 提到的是关于Apache Lucene的初步应用,这是一个全文搜索引擎库,常用于Java开发中。Lucene提供了高效的文本搜索功能,使得开发者能够快速地在大量数据中查找相关信息。 描述中的 ...

    Lucene简单实例记录

    从给定的文件信息中,我们可以提取出关于Apache Lucene的基本使用和实例的详细知识点,以下是对这些知识点的深入解析: ### Lucene简介 Apache Lucene是一个高性能、全功能的文本搜索引擎库,由Java编写,提供了对...

    lucene检索小例子

    总之,"lucene检索小例子"是一个实用的教程,通过它你可以学习到如何利用Lucene这一强大的全文搜索引擎库,实现高效、精准的文本检索功能。无论是在网站、数据库还是其他任何需要搜索功能的应用中,Lucene都是一个...

    Lucene索引器实例

    以下是一个简单的Java代码示例,展示了如何创建和使用Lucene索引器: ```java import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache....

    lucene的简单介绍以及使用

    它不是一个可以直接使用的应用程序,而是一个为开发者提供构建全文搜索功能的底层库,核心库为 lucene-core-2.2.0.jar。Lucene 提供了丰富的 API 和工具,帮助开发人员在各种应用中实现高效的全文检索功能。 **...

    lucene入门小例子

    这个“lucene入门小例子”很可能是为了帮助初学者理解并掌握Lucene的基本用法而设计的一系列示例代码。 Lucene的核心概念包括索引、文档、字段和查询。首先,你需要理解索引的概念,它类似于传统数据库中的索引,但...

    lucene4.7 开发简单实例

    《Lucene 4.7 开发简单实例详解》 Lucene 是一款强大的全文搜索引擎库,广泛应用于各种信息检索系统中。在本实例中,我们将深入探讨Lucene 4.7版本,涵盖索引的创建、修改、删除,以及查询时的排序、分页、优化和...

    Lucene使用代码实例之搜索文档

    以下是一个简单的示例代码,演示了如何使用Lucene搜索包含关键词"lucene"的文档: ```java public class TxtFileSearcher { public static void main(String[] args) throws Exception{ String queryStr = ...

    lucene搜索的简单入门例子源代码

    本篇将通过一个简单的入门例子,带你了解如何使用Lucene进行搜索。 首先,我们要知道Lucene的核心组件包括文档(Document)、字段(Field)、索引(Index)和查询(Query)。在Lucene中,信息是以文档的形式存储,...

    lucene实例lucene实例

    本篇文章将详细探讨Lucene的实例应用,以及如何通过实例来理解和掌握这一技术。 一、Lucene的基本概念 1. 文档(Document):在Lucene中,文档是信息的基本单位,可以理解为数据库中的一条记录,包含多个字段...

    基于java的Lucene全文搜索引擎资源简单实例下载

    本资源包提供了一个简单的实例,帮助开发者快速理解并掌握Lucene的基本用法。 1. **Lucene的基本概念** - **索引**: Lucene首先需要对文档进行索引,这个过程相当于将文本数据转换成便于搜索的结构(倒排索引)。 ...

    lucene简单例子

    标题"lucene简单例子"指出我们将探讨如何使用Apache Lucene这个开源全文搜索引擎库进行数据存储和搜索。Lucene是Java开发的一个高性能、可扩展的信息检索库,它提供了强大的文本分析和索引功能,使得开发者能够轻松...

    lucene全文检索简单索引和搜索实例

    《Lucene全文检索:简单索引与搜索实例详解》 Lucene是Apache软件基金会的开源项目,是一款强大的全文检索库,被广泛应用于Java开发中,为开发者提供了构建高性能搜索引擎的能力。在本文中,我们将深入探讨如何基于...

    LUCENE的搜索引擎例子

    本篇文章将深入探讨如何在B/S(浏览器/服务器)架构下利用Lucene实现一个简单的搜索引擎实例。 首先,我们需要了解Lucene的核心概念。Lucene提供了一套完整的文本检索框架,包括索引构建、查询解析、评分以及结果...

    paoding+lucene实现全文检索功能简单实例

    本实例将介绍如何结合Paoding和Lucene来实现一个简单的全文检索系统,这在处理中文数据时尤其有效。 首先,让我们了解一下Paoding。Paoding是一款优秀的中文分词库,它针对中文的特点进行了优化,能有效地进行词语...

    使用lucene进行简单的开发

    在Lucene中进行简单搜索模块的开发,我们可以创建一个名为`MySearcher`的类,包含以下几个关键方法: 1. **InitDataSource**: 私有方法,用于初始化数据库连接。通过`JDBCOperatorDAO`类建立与数据库的连接。 ```...

    Lucene搜索实例

    以下是一个简单的查询示例: ```java Query query = new TermQuery(new Term("content", "搜索关键词")); try (IndexReader reader = DirectoryReader.open(directory); IndexSearcher searcher = new ...

Global site tag (gtag.js) - Google Analytics