Lucene检索文件包裹txt,jsp,html格式(如果是word和pdf格式需要进行格式转化)
建立索引文件的代码如下:
import org.apache.lucene.index.*;
import org.apache.lucene.analysis.standard.*;
import org.apache.lucene.document.*;
import java.io.*;
/**
* @author Eric Zhang
*/
public class IndexFiles {
public static void main(String[] args) {
try{
IndexWriter writer = new IndexWriter("myindex", new StandardAnalyzer(), true);
File files = new File("mydoc");
String[] Fnamelist = files.list();
for (int i = 0; i < Fnamelist.length; i++){
File file = new File(files,Fnamelist[i]);
Document doc = new Document();
Field fld = Field.Text("path", file.getPath());
doc.add(fld);
fld = Field.Keyword("modified", DateField.timeToString(file.lastModified()));
doc.add(fld);
FileInputStream in = new FileInputStream(file);
Reader reader = new BufferedReader(new InputStreamReader(in));
fld = Field.Text("contents", reader);
doc.add(fld);
writer.addDocument(doc);
System.out.println("Added : " + doc.get("path"));
}
writer.optimize();
writer.close();
System.out.println("Has Added Total: " + Fnamelist.length);
}catch(Exception e){
System.out.println(e);
}
}
}
检索索引的java代码如下:
import org.apache.lucene.analysis.*;
import org.apache.lucene.analysis.standard.*;
import org.apache.lucene.search.*;
import org.apache.lucene.queryParser.*;
import org.apache.lucene.document.*;
//import com.augmentum.hrms.*;
import java.util.Date;
/**
* @author Eric Zhang
*/
public class SearchFile {
public static void main(String[] args) {
//XMap a = new XMap("");
Analyzer anlzr = new StandardAnalyzer();
try{
Query q = QueryParser.parse("数据库", "contents", anlzr);
System.out.println("Searching for : " + q.toString("contents"));
Searcher serch = new IndexSearcher("myindex");
Hits hts = serch.search(q);
for(int i=0; i<hts.length(); i++){
Document doc = hts.doc(i);
String path = doc.get("path");
System.out.println("Find: " +i+": "+ path);
System.out.println("Find: " + doc.get("modified"));
System.out.println("Find: " + doc.get("path"));
}
System.out.println("Find Total: " + hts.length());
}catch(Exception e){
System.out.println(e);
}
}
}
分享到:
相关推荐
**基于Lucene的检索会议期刊代码JSP展示** 在信息技术领域,搜索引擎的构建是一项关键任务,而Apache Lucene是Java平台上的一个高性能、全文本搜索库。本项目着重讲解如何利用Lucene 5.5版本来实现会议期刊的检索...
**标题:“Lucene项目的jsp”** ...总的来说,这个项目为学习和实践在Java Web环境中使用Lucene提供了实际的示例,通过JSP将强大的全文搜索引擎功能整合到Web应用中,帮助提升用户体验并实现高效的检索功能。
基于Struts2的全文检索系统利用了Lucene的强大功能,实现了文件上传、下载和全文检索。系统通过建立和维护有效的索引,确保了高效、准确的搜索体验。开发者可以在此基础上进一步扩展,如增加多语言支持、优化查询...
在这个场景中,我们将探讨如何利用Lucene来检索文本并建立索引,同时结合Struts框架构建一个Web程序。 首先,**Lucene** 是一个开源的Java库,它提供了完整的搜索功能,包括分词、索引创建、查询解析和结果排序。它...
用Lucene检索数据库 Lucene是一种全文搜索的辅助工具,可以对数据库进行全文搜索,为我们带来了极大的便利和比较高的效率。本文主要是利用Lucene对MS Sql Server 2000进行建立索引,然后进行全文索引。下面将详细...
本项目基于Java技术栈,结合JSP、Servlet、JDBC以及Lucene库,构建了一个功能完备的搜索引擎系统。 **JSP(JavaServer Pages)** JSP是Java平台上的动态网页技术,它允许开发人员在HTML或XML文档中嵌入Java代码,...
项目的文件结构通常会包含JSP文件(如index.jsp)、Java源代码(如Servlet和Bean)、配置文件(如web.xml)、Lucene相关的索引文件以及静态资源(如CSS和JavaScript)。每个部分都有其特定的职责,共同协作完成公交...
利用Lucene接口编写简单的信息检索系统,实现对本地目录建立索引和搜索功能。代码包含两个JSP页面,放入tomcat的webapp目录中即可在浏览器中运行程序。选择文档路径时如若涉及浏览器权限问题,可直接输入。
你可以从 Lucene 的官方网站获取最新版本的发行包,然后解压缩并将包含的 JAR 文件(如 `lucene-core.jar` 和相关的模块 JAR)添加到你的项目类路径(CLASSPATH)中。对于 Linux 用户,这可以通过修改环境变量来完成...
1. **添加依赖**:在`pom.xml`文件中引入Lucene和Spring Data JPA(如果需要数据库支持)的依赖。 2. **创建索引**:定义一个`IndexWriter`,用于将数据写入Lucene索引。这通常在应用程序启动时或者数据更新时执行。...
这个系统的核心功能是通过搜索引擎技术Lucene来快速检索公交线路,结合JavaWeb和JSP的技术实现用户界面的动态交互与后端数据处理。 首先,JavaWeb是Java平台下开发分布式应用程序的基础,它提供了处理HTTP请求和...
- **用户界面**:使用JSP页面作为用户检索的界面,支持对全文各个字段的检索以及高级查询功能。 - **检索流程**:用户输入查询请求后,系统对其进行分析处理,提取查询项索引、逻辑表达式等特征描述,然后执行检索...
- `WEB-INF`: 这个目录在 Java Web 应用中存放配置文件、类文件等,可能包含了 Lucene 相关的类和配置。 - `META-INF`: 存放元数据,如应用的 MANIFEST.MF 文件,可能与 Lucene 索引的存储位置或元数据有关。 **...
通过学习“lucene视频.rar”和“Lucene相关视频教程.txt”,可以深入理解Lucene的工作原理和实践应用。而“基于Lucene的Web站内信息搜索系统”可能是一个示例项目,包含了完整的代码和配置文件,可供开发者参考和...
Apache Lucene 是一个高性能、全文检索库,由Java编写,其核心设计目标是提供一个灵活、可扩展的搜索功能。它允许开发者在自己的应用程序中嵌入强大的搜索引擎,从而实现高效的文本检索。本文将深入探讨Lucene的索引...
1. **全文检索**:Lucene提供了一种高效的方式来进行文本的全文检索,它能对文档内容进行分词并创建倒排索引,使得搜索操作可以快速定位到包含关键词的文档。 2. **分词器(Tokenizer)**:在Lucene中,文本首先会...
(1)支持桌面文件搜索,格式包括txt、doc、xls和ppt; (2)支持分词查询 (3)支持全文搜索 (4)能够高亮显示搜索关键字 (5)显示查询所用的时间 (6)显示搜索历史、过滤关键字 数据库:SQL Server 使用...
最后,文档附带了一个示例代码片段,展示了如何使用Lucene为一个文件建立索引。代码中使用了`IndexWriter`、`StandardAnalyzer`和`Field`等关键类,通过创建`Document`对象并将字段添加其中,最终将文档写入索引。这...
对学习lucene开发的人员来说这个项目非常有价值 值得参考">项目的页面都存在WebRoot WEB INF jsp下 网上搜索博客园网页的地址 输入到相应搜索框 该项目可以自动对博客园网站中的文章 项目中限制了文章数量 建立...
Lucene 是一个开源的全文检索库,由Apache软件基金会开发并维护,它提供了一套高级的文本搜索API,允许开发者在他们的应用程序中集成强大的搜索引擎功能。Lucene的核心功能包括文档索引、查询解析、评分和结果排序。...