根据前面的那个例子,写出如下创建索引的例子,搞了老半天能,
3.0的和3.1.0的居然也那么的不一样。。。
先放着,以后备用
import java.io.File;
import java.io.IOException;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.index.IndexWriterConfig.OpenMode;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.store.LockObtainFailedException;
import org.apache.lucene.util.Version;
public class LuceneTest {
String docsPath = null; //文件位置
String indexPath =null; //索引位置
public static void main(String[] args) {
LuceneTest test = new LuceneTest();
try {
test.index();
} catch (CorruptIndexException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (LockObtainFailedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
/**
* 先创立索引
* @throws IOException
* @throws LockObtainFailedException
* @throws CorruptIndexException
*/
public void index() throws CorruptIndexException, LockObtainFailedException, IOException
{
docsPath="F:\\Search engine\\搜索引擎\\lucene-3.1.0-src\\lucene-3.1.0\\contrib\\analyzers\\common\\readm.txt";
indexPath="D:\\mywork\\LuceneTest\\lucenedic";
if(docsPath==null)
{
System.err.println("docsPath为空");
System.exit(1);
}
File docDir = new File(docsPath);
Analyzer analyzer = new StandardAnalyzer(Version.LUCENE_31);
Directory dir = FSDirectory.open(new File(indexPath));
IndexWriterConfig iwc = new IndexWriterConfig(Version.LUCENE_31, analyzer);
/*IndexWriter indexWriter1 = new IndexWriter(dir,new IndexWriterConfig(Version.LUCENE_31,
new WhitespaceAnalyzer(Version.LUCENE_31)));*/
iwc.setOpenMode(OpenMode.CREATE_OR_APPEND);
IndexWriter indexWriter = new IndexWriter(dir,iwc);
Document doc = new Document();
Field pathField = new Field("path",docDir.getPath(),Field.Store.YES,Field.Index.NOT_ANALYZED_NO_NORMS);
pathField.setOmitTermFreqAndPositions(true);
doc.add(pathField);
indexWriter.addDocument(doc);
indexWriter.close();
}
}
分享到:
相关推荐
在Lucene3.0中创建索引是一个关键功能,可以帮助用户快速地检索和管理大量的文本数据。本篇文章将详细介绍如何使用Lucene3.0来创建索引,并通过一个具体的例子来演示整个过程。 #### 一、Lucene3.0简介 Lucene是一...
- 需要创建一个`IndexWriter`对象,指定索引存储的位置及索引的配置选项。 - 对于每个XML文档中的元素,可以创建一个`Document`对象,并将其添加到`IndexWriter`中。 3. **索引文档元素** - 在SAX处理器中,对于...
Lucene创建索引步骤: 1、创建Directory(索引位置) 2、创建IndexWrite(写入索引) 3、创建Document对象 4、为Document添加Field(相当于添加属性:类似于表与字段的关系) 5、通过IndexWriter添加文档到索引中
- **处理新增数据**:对于新插入的数据,我们创建一个新的Lucene文档,并添加到索引writer中。确保每个文档都关联有唯一标识符,以便后续更新和删除操作。 - **处理更新数据**:如果数据被修改,我们需要找到索引中...
- **创建项目**:在IDE中创建一个新的Java项目,并将下载的Lucene库添加到项目的依赖中。 ##### 2.2 创建文档模型 在Lucene中,文档是由一系列字段组成的。每个字段可以存储不同的数据类型,如字符串、数字等。...
本文将深入探讨如何使用Lucene5来创建一个基本的索引,帮助初学者入门。 首先,我们需要了解Lucene的基本概念。Lucene是一个开源的Java库,它提供了索引和搜索大量文本数据的能力。索引过程将文本转换为可搜索的...
Lucene(这里用到的是Lucene.net版本也成为DotLucene)是一个信息检索的函数库(Library),利用它你可以为你的应用加上索引和搜索的功能. Lucene的使用者不需要深入了解有关全文检索的知识,仅仅学会使用库中的一个类,...
以上就是关于“Lucene索引的简单使用”的详细介绍,包括其核心概念、创建和查询索引的步骤以及一些高级特性。希望对你理解和应用Lucene有所帮助。在实际开发中,可以根据需求选择合适的Analyzer,优化索引策略,以...
我们可以创建多个独立的索引线程,每个线程负责处理一部分文档或目录,然后将这些独立的索引合并成一个完整的索引。 具体操作步骤如下: 1. **任务拆分**:将待索引的文档目录划分为多个子目录,每个子目录分配给...
以下是一个简单的Java代码示例,展示了如何创建和使用Lucene索引器: ```java import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache....
二、Lucene索引创建流程 1. 初始化:首先,我们需要导入Lucene库,并创建一个标准的Analyzer,例如StandardAnalyzer,它对输入的文本进行标准化处理。 2. 创建索引目录:索引数据会存储在一个Directory对象中,...
java创建Lucene索引
1) 提供实时索引的创建、管理 2) Query的创建 详细介绍参照博客:http://blog.csdn.net/xiaojimanman/article/details/20624739 中的介绍
标题“Lucene.net高速创建索引”所涉及的核心技术是Apache Lucene.NET,这是一个开源全文搜索引擎库,它是Lucene项目针对.NET框架的移植版本。Lucene.NET提供了高效、可扩展的文本搜索功能,使得开发者能够在他们的...
2. **词项(Term)**:每个分词后的词汇单元称为词项,是Lucene索引的基本单位。词项由一个词典中的词汇(如“apple”)和文档中出现的位置(或位置编码)组成。 3. **词典(Dictionary)**:词典是所有唯一词项的...
在深入探讨Lucene删除索引这一主题之前,我们先...总之,Lucene的删除索引机制是一个复杂但高效的过程,涉及到了位向量、段管理和索引优化等多个环节。在实际应用中,合理使用这些功能可以确保索引的准确性和资源效率。
**Lucene索引和查询** Lucene是Apache软件基金会的开放源码全文...本项目提供了一个基础的实现示例,对于初学者来说,是学习Lucene索引和查询的绝佳起点。在实际应用中,可以进一步扩展和优化,以满足更复杂的需求。
Lucene,作为Apache软件基金会的一个开源项目,是Java平台上的一个全文搜索引擎库。它的主要功能是提供高效、可扩展的文本检索和分析能力。在4.7.2这个版本中,Lucene已经对Java 6提供了全面的支持,而后续的版本则...
首先,我们需要创建一个索引,这是全文检索的基础。在Lucene.NET中,我们通常会定义一个文档类,包含需要索引的字段。例如: ```csharp public class DocumentModel { [Field(Store = Store.YES, Analyze = true)]...
- `lukeall-0.8.1.jar`:Luke是一个用于查看和分析Lucene索引的工具,可以帮助开发者调试和理解索引结构。 - `log4j-1.2.12.jar`:日志框架,用于记录程序运行时的信息。 - `commons-httpclient-3.1.jar`:可能是...