说是第8天,其实就是起个计数作用最近太懒了
提取出了网页,并生成了5000多个txt文本文件,下一步就是要对其索引,并存入数据库。对于存进数据库,初学者可能觉得为什么还要用到数据库呢,lucene已经提供了查询,索引。我的理解是存入数据库可以方便我们jsp页面显示。如果数据库中的数据项过于庞大(构建搜索引擎的目的就是为了从庞大的数据中筛选我们需要的信息,所以这点是避免不了的),单纯的用sql来检索速度会很慢,所以有了lucene来帮助我们,它的速度应该是要远远快于数据库。lucene查出了我们要的信息的id,我们可以根据此id在数据库中把该条信息提取出来,这样方便页面显示,效率也会有所提高。所以,下面的工作就是柳暗花明了
先说索引,有了lucene的帮助,索引其实非常简单,我写了一个类,索引和存入数据库综合起来了
里面的核心方法:
public void initialize() {
try {
productJDBC = new ProductJDBC( "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=searchdb","sa","");
indexer = new ProductIndexer(indexPath);
}catch(Exception e){
e.printStackTrace();
}
}
public void setDirectories(String[] directories) {
this.directories = directories;
}
protected void process() throws Exception {
if (productJDBC == null) {
throw new Exception("Database connection failed, pls retry!!");
}
if (directories == null || directories.length == 0) {
return;
}
try {
for (int i = 0; i < directories.length; i++) {
File f = new File(directories[i]);
traverse(f);
}
closeDB();
closeIndex();
} catch (Exception e) {
e.printStackTrace();
}
}
private void traverse(File file) throws Exception {
String [] files = file.list();
for (int i = 0; i < files.length; i++) {
File productfile = new File(file, files[i]);
String fname = productfile.getName();
BufferedReader reader = new BufferedReader(new FileReader(productfile));
String url = pro(reader.readLine());
String imageURI = pro(reader.readLine());
String summary = pro(reader.readLine());
String name = fname.substring(0,fname.indexOf("_"));
String type = fname.substring(fname.indexOf("_")+1,fname.length()-4);
StringBuffer content = new StringBuffer();
String line = reader.readLine();
while (line != null){
content.append(line).append("\r\n");
line = reader.readLine();
}
// make the Product object
Product p = new Product();
p.setCategory("汽车");
p.setName(name);
p.setType(type);
p.setImageURI(imageURI);
p.setOriginalUrl(url);
String contentstr = content.toString();
p.setContent(contentstr);
p.setUpdatedtime("");
p.setSummary(summary);
int nextid = insert2DB(p);
buildIndex(p, nextid);
}
optimizeIndex();
}
由于篇幅原因就不一一贴出来了
经过10分钟左右吧,就可以把所有的txt文本文件处理成功。
分享到:
相关推荐
**Lucene索引器实例详解** Lucene是一个高性能、全文本搜索库,由Apache软件基金会开发,被广泛应用于各种搜索引擎的构建。它提供了一个高级的、灵活的、可扩展的接口,使得开发者能够轻松地在应用程序中实现全文...
在使用 Lucene 进行信息检索时,有时我们需要对建立的索引进行查看、调试或分析,这时就需要借助 Lucene 的索引查看工具。 Luke 是一个非常实用的 Lucene 索引浏览器,全称为 Lucidworks Luke。它允许用户以图形化...
这就是"Lucene 索引 查看 工具"的用途,它可以帮助我们分析和理解 Lucene 索引的工作原理。 主要知识点: 1. **Lucene 索引**:Lucene 的索引是一种倒排索引,它将文档中的词项(tokens)映射到包含这些词项的文档...
《深入理解Lucene索引查看程序与代码》 在信息技术领域,搜索引擎的高效运作离不开底层索引技术的支持,而Lucene作为Apache软件基金会的一个开放源代码项目,正是一个强大的全文检索库,它提供了高效的文本搜索功能...
以下是对Lucene索引机制的详细解析: 一、Lucene的索引过程 1. 文档分析:当向Lucene添加文档时,首先会经过一个分词器(Tokenizer),将文本拆分成一系列的词项(Token)。接着,这些词项会被过滤(Filter)和...
**Lucene索引和查询** Lucene是Apache软件基金会的开放源码全文搜索引擎库,它提供了文本检索的核心工具,使得开发者能够快速构建自己的搜索应用。本项目中的代码旨在展示如何利用Lucene对多个文件夹下的数据进行...
`Luck`,全称`Luke`,是一款强大的Lucene索引浏览器和分析器工具,可以帮助开发者、数据分析师以及对Lucene感兴趣的人员查看、理解和调试Lucene索引。 `Luke 7.4.0`是这款工具的一个特定版本,它专门设计用来与...
《深入理解Lucene索引文件查看工具LukeAll 4.7.1》 在信息检索领域,Lucene作为一款强大的全文搜索引擎库,被广泛应用在各种数据检索系统中。然而,对于开发者来说,理解并调试Lucene创建的索引文件并非易事。此时...
lukeall-0.9.jar为Lucene索引查看工具,方便大家查看索引
以上就是关于“Lucene索引的简单使用”的详细介绍,包括其核心概念、创建和查询索引的步骤以及一些高级特性。希望对你理解和应用Lucene有所帮助。在实际开发中,可以根据需求选择合适的Analyzer,优化索引策略,以...
《深入理解Luke:洞察Lucene索引文件》 在信息技术领域,搜索引擎的高效运作离不开对数据的快速检索,而Lucene作为开源全文检索库,扮演了核心角色。在这个过程中,Luke工具提供了一种直观的方式,让我们能够查看和...
本文将详细介绍一款被称为“很好的lucene索引查看工具”的实用软件,旨在帮助用户更好地理解和调试Lucene索引。 Lucene索引查看工具是一款专为Lucene设计的可视化工具,它允许用户直观地浏览和分析由Lucene创建的...
以下是对Lucene索引文件格式的详细说明。 首先,我们要理解Lucene索引的基本结构。一个Lucene索引位于一个文件夹中,这个文件夹包含了多个段(Segment)。每个段是独立的,包含了一组文档,并且可以与其他段合并。...
**Lucene索引结构原理** Lucene是Apache软件基金会的开放源代码全文搜索引擎库,它为Java开发人员提供了强大的文本搜索功能。理解Lucene的索引结构原理对于优化搜索性能和设计高效的搜索应用至关重要。 首先,我们...
**Lucene索引的基本操作** Lucene是一款由Apache软件基金会开发的全文检索库,它提供了高效、可扩展的全文检索功能。在Java开发环境中,Lucene是广泛使用的文本搜索工具,能够帮助开发者构建复杂的搜索引擎。本文将...
《Lucene索引小示例解析》 Lucene是一个高性能、全文检索库,它由Apache软件基金会开发并维护。在Java编程环境中,Lucene被广泛应用于构建搜索功能,特别是对于大量文本数据的高效检索。本篇文章将通过一个简单的小...
这款已经老了,2.4以后的lucene索引用不了。我上传了最新版本的,有需要的话!请到http://download.csdn.net/source/1423241 下。一款可以查看Lucene分词后在索引的排名以及是否有无该词,很多时候用于查看有无需要...
luke是一个用于Lucene/Solr/Elasticsearch 搜索引擎,方便开发和诊断的 GUI(可视化)工具。
而在Lucene中,基本单位是Document,它同样由多个字段组成,但Lucene索引的是这些字段的内容,以加速文本检索。 - **索引构建**:Lucene支持增量索引和批量索引,可以处理数据源的小幅变化或大规模数据。数据库通常...
《深入理解Lucene索引库查看器5.3.0》 Lucene是一个开源的全文检索库,被广泛应用于各种搜索引擎的开发。在对Lucene进行开发和调试时,一个强大的工具——Lucene索引库查看器(Luke)发挥了至关重要的作用。 Luke ...