`

Lucene创建索引的优化

 
阅读更多
/**
	 * 操作索引库是用来(增删改)索引
	 * 
	 * @throws Exception
	 */
	@Test
	public void createIndex() throws Exception
	{
		long star = System.currentTimeMillis();
		IndexWriter indexWriter = null;
		RAMDirectory ramDir = null;
		FSDirectory dirs = FSDirectory.getDirectory(indexPath);
		IndexWriter indexWriters = new IndexWriter(dirs, analyzer, MaxFieldLength.LIMITED);
		for (int i = 0; i < 10000; i++)
		{
			File file = new File(indexPath);
			FSDirectory dir = FSDirectory.getDirectory(file);
			Document doc = File2DocumentUtils.file2Document(filePath);
			
			ramDir = new RAMDirectory();
			indexWriter = new IndexWriter(ramDir, analyzer, MaxFieldLength.LIMITED);
			indexWriter.addDocument(doc);
			indexWriter.close();
			indexWriters.addIndexesNoOptimize(new Directory[] {ramDir});
		}
		indexWriters.close();
		long end = System.currentTimeMillis();
		System.out.println("消耗时间:  " + (double) ((end - star) / 1000));
	}

	@Test
	public void createIndex1() throws Exception
	{
		long star = System.currentTimeMillis();
		for (int i = 0; i < 1000; i++)
		{
			File file = new File(indexPath);
			FSDirectory dir = FSDirectory.getDirectory(file);
			Document doc = File2DocumentUtils.file2Document(filePath);
			IndexWriter indexWriter = new IndexWriter(dir, analyzer, MaxFieldLength.LIMITED);
			indexWriter.addDocument(doc);
			indexWriter.close();
		}
		long end = System.currentTimeMillis();
		System.out.println("消耗时间:  " + (double) ((end - star) / 1000));
	}

 

 

分享到:
评论

相关推荐

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

    本教程主要探讨的是如何利用Lucene进行索引优化,特别是通过多线程和处理多个目录来提高索引创建效率。 首先,我们需要理解Lucene的索引原理。Lucene将文档分解为词项(tokens),并对每个词项创建倒排索引。倒排...

    lucene索引结构原理

    理解Lucene的索引结构原理对于优化搜索性能和设计高效的搜索应用至关重要。 首先,我们要知道Lucene的索引并非数据库中的那种可以立即定位数据的索引,而是用于快速查找文档中包含特定单词的索引。这个过程分为以下...

    lucene并行索引

    ### Lucene并行索引关键技术解析 #### 一、引言 随着互联网的快速发展,海量信息的管理和检索成为了重要的挑战。传统的单机索引方法已无法满足高效处理大规模数据的需求,尤其是在搜索引擎领域。Lucene作为一款...

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

    **Lucene5学习之创建索引入门示例** 在IT领域,搜索引擎的开发与优化是一项关键技术,而Apache Lucene作为一款高性能、全文本搜索库,是许多开发者进行文本检索的首选工具。本文将深入探讨如何使用Lucene5来创建一...

    Lucene 索引的简单使用

    创建索引 创建Lucene索引的步骤包括: 1. **初始化Directory**:选择存储索引的目录,如FSDirectory(文件系统)、RAMDirectory(内存)等。 2. **创建IndexWriter**:配置IndexWriter实例,指定Directory、...

    基于lucene技术的增量索引

    - **首次创建索引**:首先,我们需要遍历整个数据源,创建每个文档的实例,然后将这些文档添加到Lucene的索引writer中。完成这一步后,就会生成一个完整的初始索引。 - **监控数据变更**:为了实现增量索引,我们...

    Lucene.net高速创建索引

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

    lucene实现索引查询

    创建索引是Lucene的核心过程,它涉及到以下步骤: 1. **定义索引目录**:首先,你需要指定一个目录来存储索引文件。这通常是一个文件夹,可以通过`File`对象表示,然后使用`FSDirectory.open()`方法打开。 2. **...

    基于lucene的索引与搜索

    然后,索引器对抓取的网页进行处理,创建索引;最后,查询处理器接收用户的搜索请求,并利用索引返回相关的搜索结果。 2.2 搜索引擎的构成 2.2.1 网络机器人 网络机器人是搜索引擎的第一步,它们自动地遍历互联网...

    Lucene读取索引文件

    开发者在使用Lucene时,应充分理解其内部机制,以便更好地优化查询性能和维护索引。 在开发过程中,有时会遇到需要查看二进制索引文件内容的情况,这时可以使用工具如jd-gui.exe(Java反编译器),虽然它主要用于...

    Lucene创建与搜索索引

    本文将重点介绍如何使用Lucene创建索引以及如何基于这些索引进行高效的搜索。 #### 二、创建索引 ##### 2.1 准备工作 在开始之前,我们需要做一些准备工作: - **安装Java环境**:Lucene基于Java开发,因此首先...

    Lucene索引器实例

    // 创建索引器 IndexWriter indexWriter = new IndexWriter(directory, config); // 创建文档 Document doc = new Document(); doc.add(new Field("title", "Lucene索引器实例", Field.Store.YES, Field....

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

    2. 创建索引目录:索引数据会存储在一个Directory对象中,可以是文件系统、内存或数据库。通常我们选择FSDirectory,将索引存储在本地文件系统。 3. 创建文档对象:为每份要索引的数据创建一个Document对象,添加...

    lucene 索引 查看 工具

    在 Lucene 的使用过程中,创建索引是关键步骤,而有时我们需要查看这些索引来了解其结构、内容以及优化搜索性能。这就是"Lucene 索引 查看 工具"的用途,它可以帮助我们分析和理解 Lucene 索引的工作原理。 主要...

    Lucene索引的基本操作

    创建索引目录 Lucene索引存储在文件系统中,因此需要创建一个目录来保存索引。可以使用`FSDirectory`类来实现: ```java File indexLocation = new File("index"); Directory directory = FSDirectory.open...

    Lucene5写的全文搜索的demo,包括创建索引和搜索

    在本示例中,我们将探讨 Lucene5 创建索引和执行搜索的基本流程。 1. **安装与设置** - `.classpath` 和 `.project` 文件是 Eclipse IDE 的配置文件,它们包含了项目的类路径和工程设置。为了运行 Lucene 示例,...

    深入 Lucene 索引机制

    《深入 Lucene 索引机制》这篇博文主要探讨了Lucene这个...综上,深入理解Lucene的索引机制有助于优化搜索性能,提升搜索体验。无论是对搜索引擎开发者还是对大数据分析人员来说,掌握Lucene都是必不可少的技能之一。

    luke源码--查看lucene索引文件

    在这个过程中,Luke工具提供了一种直观的方式,让我们能够查看和分析Lucene创建的索引文件。本文将深入探讨Luke的源码,揭示其如何帮助我们理解并调试Lucene索引。 首先,Luke是一个桌面应用,主要设计用于查看和...

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

    标题中的“Lucene对本地文件多目录创建索引”指的是使用Apache Lucene库来构建一个搜索引擎,该搜索引擎能够索引本地计算机上的多个文件目录。Lucene是一个强大的全文搜索库,它允许开发者在Java应用程序中实现高级...

    Lucene建立索引

    - `LuceneTest`可能是这个项目的主要测试类,它可能包含创建索引、查询索引以及展示结果的代码示例。 - 学习该项目,应关注如何实例化`Directory`(如`FSDirectory`)、选择合适的`Analyzer`(如`StandardAnalyzer...

Global site tag (gtag.js) - Google Analytics