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的简单实例" 提到的是关于Apache Lucene的初步应用,这是一个全文搜索引擎库,常用于Java开发中。Lucene提供了高效的文本搜索功能,使得开发者能够快速地在大量数据中查找相关信息。 描述中的 ...
从给定的文件信息中,我们可以提取出关于Apache Lucene的基本使用和实例的详细知识点,以下是对这些知识点的深入解析: ### Lucene简介 Apache Lucene是一个高性能、全功能的文本搜索引擎库,由Java编写,提供了对...
总之,"lucene检索小例子"是一个实用的教程,通过它你可以学习到如何利用Lucene这一强大的全文搜索引擎库,实现高效、精准的文本检索功能。无论是在网站、数据库还是其他任何需要搜索功能的应用中,Lucene都是一个...
以下是一个简单的Java代码示例,展示了如何创建和使用Lucene索引器: ```java import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache....
它不是一个可以直接使用的应用程序,而是一个为开发者提供构建全文搜索功能的底层库,核心库为 lucene-core-2.2.0.jar。Lucene 提供了丰富的 API 和工具,帮助开发人员在各种应用中实现高效的全文检索功能。 **...
这个“lucene入门小例子”很可能是为了帮助初学者理解并掌握Lucene的基本用法而设计的一系列示例代码。 Lucene的核心概念包括索引、文档、字段和查询。首先,你需要理解索引的概念,它类似于传统数据库中的索引,但...
《Lucene 4.7 开发简单实例详解》 Lucene 是一款强大的全文搜索引擎库,广泛应用于各种信息检索系统中。在本实例中,我们将深入探讨Lucene 4.7版本,涵盖索引的创建、修改、删除,以及查询时的排序、分页、优化和...
以下是一个简单的示例代码,演示了如何使用Lucene搜索包含关键词"lucene"的文档: ```java public class TxtFileSearcher { public static void main(String[] args) throws Exception{ String queryStr = ...
本篇将通过一个简单的入门例子,带你了解如何使用Lucene进行搜索。 首先,我们要知道Lucene的核心组件包括文档(Document)、字段(Field)、索引(Index)和查询(Query)。在Lucene中,信息是以文档的形式存储,...
本篇文章将详细探讨Lucene的实例应用,以及如何通过实例来理解和掌握这一技术。 一、Lucene的基本概念 1. 文档(Document):在Lucene中,文档是信息的基本单位,可以理解为数据库中的一条记录,包含多个字段...
本资源包提供了一个简单的实例,帮助开发者快速理解并掌握Lucene的基本用法。 1. **Lucene的基本概念** - **索引**: Lucene首先需要对文档进行索引,这个过程相当于将文本数据转换成便于搜索的结构(倒排索引)。 ...
标题"lucene简单例子"指出我们将探讨如何使用Apache Lucene这个开源全文搜索引擎库进行数据存储和搜索。Lucene是Java开发的一个高性能、可扩展的信息检索库,它提供了强大的文本分析和索引功能,使得开发者能够轻松...
《Lucene全文检索:简单索引与搜索实例详解》 Lucene是Apache软件基金会的开源项目,是一款强大的全文检索库,被广泛应用于Java开发中,为开发者提供了构建高性能搜索引擎的能力。在本文中,我们将深入探讨如何基于...
本篇文章将深入探讨如何在B/S(浏览器/服务器)架构下利用Lucene实现一个简单的搜索引擎实例。 首先,我们需要了解Lucene的核心概念。Lucene提供了一套完整的文本检索框架,包括索引构建、查询解析、评分以及结果...
本实例将介绍如何结合Paoding和Lucene来实现一个简单的全文检索系统,这在处理中文数据时尤其有效。 首先,让我们了解一下Paoding。Paoding是一款优秀的中文分词库,它针对中文的特点进行了优化,能有效地进行词语...
在Lucene中进行简单搜索模块的开发,我们可以创建一个名为`MySearcher`的类,包含以下几个关键方法: 1. **InitDataSource**: 私有方法,用于初始化数据库连接。通过`JDBCOperatorDAO`类建立与数据库的连接。 ```...
以下是一个简单的查询示例: ```java Query query = new TermQuery(new Term("content", "搜索关键词")); try (IndexReader reader = DirectoryReader.open(directory); IndexSearcher searcher = new ...