`
tfkbyhq
  • 浏览: 5746 次
  • 性别: 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 简单入门程序实例

    标题与描述:“Lucene简单入门程序实例”这一标题与描述明确指出文章将引导读者通过一个实际的示例来了解和掌握Lucene的基本操作。Lucene是一个高性能、全功能的文本搜索引擎库,它允许用户对文档进行索引和搜索。本...

    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入门小例子”很可能是为了帮助初学者理解并掌握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