`
qzxfl008
  • 浏览: 78573 次
  • 性别: Icon_minigender_1
  • 来自: 浙江
社区版块
存档分类
最新评论

2lucene如何创建一个索引

阅读更多
根据前面的那个例子,写出如下创建索引的例子,搞了老半天能,
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来创建索引,并通过一个具体的例子来演示整个过程。 #### 一、Lucene3.0简介 Lucene是一...

    lucene 对 xml建立索引

    - 需要创建一个`IndexWriter`对象,指定索引存储的位置及索引的配置选项。 - 对于每个XML文档中的元素,可以创建一个`Document`对象,并将其添加到`IndexWriter`中。 3. **索引文档元素** - 在SAX处理器中,对于...

    Lucene创建索引步骤

    Lucene创建索引步骤: 1、创建Directory(索引位置) 2、创建IndexWrite(写入索引) 3、创建Document对象 4、为Document添加Field(相当于添加属性:类似于表与字段的关系) 5、通过IndexWriter添加文档到索引中

    基于lucene技术的增量索引

    - **处理新增数据**:对于新插入的数据,我们创建一个新的Lucene文档,并添加到索引writer中。确保每个文档都关联有唯一标识符,以便后续更新和删除操作。 - **处理更新数据**:如果数据被修改,我们需要找到索引中...

    Lucene创建与搜索索引

    - **创建项目**:在IDE中创建一个新的Java项目,并将下载的Lucene库添加到项目的依赖中。 ##### 2.2 创建文档模型 在Lucene中,文档是由一系列字段组成的。每个字段可以存储不同的数据类型,如字符串、数字等。...

    Lucene5学习之创建索引入门示例

    本文将深入探讨如何使用Lucene5来创建一个基本的索引,帮助初学者入门。 首先,我们需要了解Lucene的基本概念。Lucene是一个开源的Java库,它提供了索引和搜索大量文本数据的能力。索引过程将文本转换为可搜索的...

    Lucene结合Sql建立索引Demo源码.rar

    Lucene(这里用到的是Lucene.net版本也成为DotLucene)是一个信息检索的函数库(Library),利用它你可以为你的应用加上索引和搜索的功能. Lucene的使用者不需要深入了解有关全文检索的知识,仅仅学会使用库中的一个类,...

    Lucene 索引的简单使用

    以上就是关于“Lucene索引的简单使用”的详细介绍,包括其核心概念、创建和查询索引的步骤以及一些高级特性。希望对你理解和应用Lucene有所帮助。在实际开发中,可以根据需求选择合适的Analyzer,优化索引策略,以...

    lucene索引优化多线程多目录创建索引

    我们可以创建多个独立的索引线程,每个线程负责处理一部分文档或目录,然后将这些独立的索引合并成一个完整的索引。 具体操作步骤如下: 1. **任务拆分**:将待索引的文档目录划分为多个子目录,每个子目录分配给...

    Lucene索引器实例

    以下是一个简单的Java代码示例,展示了如何创建和使用Lucene索引器: ```java import org.apache.lucene.analysis.standard.StandardAnalyzer; import org.apache.lucene.document.Document; import org.apache....

    lucene全文检索简单索引和搜索实例

    二、Lucene索引创建流程 1. 初始化:首先,我们需要导入Lucene库,并创建一个标准的Analyzer,例如StandardAnalyzer,它对输入的文本进行标准化处理。 2. 创建索引目录:索引数据会存储在一个Directory对象中,...

    Lucene索引创建

    java创建Lucene索引

    基于lucene创建实时索引基础jar包源码

    1) 提供实时索引的创建、管理 2) Query的创建 详细介绍参照博客:http://blog.csdn.net/xiaojimanman/article/details/20624739 中的介绍

    Lucene.net高速创建索引

    标题“Lucene.net高速创建索引”所涉及的核心技术是Apache Lucene.NET,这是一个开源全文搜索引擎库,它是Lucene项目针对.NET框架的移植版本。Lucene.NET提供了高效、可扩展的文本搜索功能,使得开发者能够在他们的...

    lucene索引结构原理

    2. **词项(Term)**:每个分词后的词汇单元称为词项,是Lucene索引的基本单位。词项由一个词典中的词汇(如“apple”)和文档中出现的位置(或位置编码)组成。 3. **词典(Dictionary)**:词典是所有唯一词项的...

    Lucene之删除索引

    在深入探讨Lucene删除索引这一主题之前,我们先...总之,Lucene的删除索引机制是一个复杂但高效的过程,涉及到了位向量、段管理和索引优化等多个环节。在实际应用中,合理使用这些功能可以确保索引的准确性和资源效率。

    Lucene索引和查询

    **Lucene索引和查询** Lucene是Apache软件基金会的开放源码全文...本项目提供了一个基础的实现示例,对于初学者来说,是学习Lucene索引和查询的绝佳起点。在实际应用中,可以进一步扩展和优化,以满足更复杂的需求。

    lucene 4.7.2 Demo

    Lucene,作为Apache软件基金会的一个开源项目,是Java平台上的一个全文搜索引擎库。它的主要功能是提供高效、可扩展的文本检索和分析能力。在4.7.2这个版本中,Lucene已经对Java 6提供了全面的支持,而后续的版本则...

    lucene.net 2.9.2 实现索引生成,修改,查询,删除实例

    首先,我们需要创建一个索引,这是全文检索的基础。在Lucene.NET中,我们通常会定义一个文档类,包含需要索引的字段。例如: ```csharp public class DocumentModel { [Field(Store = Store.YES, Analyze = true)]...

    Lucene对本地文件多目录创建索引

    - `lukeall-0.8.1.jar`:Luke是一个用于查看和分析Lucene索引的工具,可以帮助开发者调试和理解索引结构。 - `log4j-1.2.12.jar`:日志框架,用于记录程序运行时的信息。 - `commons-httpclient-3.1.jar`:可能是...

Global site tag (gtag.js) - Google Analytics