`
houzhaowei
  • 浏览: 499202 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

no segments* file found in org.apache.lucene.store.FSDirectory

阅读更多

遇到以上异常,原因:

       

 writer = new IndexWriter(indexPath, getAnalyzer(),
                 true, IndexWriter.MaxFieldLength.UNLIMITED);

 

其中"true"为在indexPath 目录下不新建索引而使用原来的索引,在第一次建立索引时会遇到"no segments* file found in org.apache.lucene.store.FSDirectory" 的异常。因为还没有在该目录建立任何索引文件。

解决方案:

目前想到这个解决方案,还没想到更好的:

File file = new File(indexPath);
				//如果目录下没有文件,则新建索引文件
				if(file.isDirectory() && file.listFiles().length == 0){
					writer = new IndexWriter(indexPath, getAnalyzer(),
							true, IndexWriter.MaxFieldLength.UNLIMITED);
				} else {
					//如果已有索引文件则用原有的索引文件
					writer = new IndexWriter(indexPath, getAnalyzer(),
							false, IndexWriter.MaxFieldLength.UNLIMITED);
				}

 

-- 查找索引目录下有没有文件,如果有则表示已经建立了索引,如果没有则新建索引。

分享到:
评论
3 楼 algorithm 2012-08-01  

这个是正解
2 楼 algorithm 2012-08-01  
似乎说错了...
false代表的是使用已有索引文件,如果没的话,会报no segments* file found in org.apache.lucene.store.FSDirectory
1 楼 yanjunshi 2011-07-14  

相关推荐

    基于JAVA的搜索引擎 lucene-2.2.0

    Exception in thread "main" java.io.FileNotFoundException: no segments* file found in org.apache.lucene.store.FSDirectory@E:\index: files: at org.apache.lucene.index.SegmentInfos$FindSegmentsFile.run...

    lucene基本包

    Lucene,作为Apache软件基金会的一个顶级项目,是一个高度成熟、广泛使用的全文检索引擎架构。它为开发者提供了一套强大的工具,用于在各种应用中实现高效的全文搜索功能。这个“lucene基本包”包含了Lucene的核心...

    Linux源码剖析

    - **`org.apache.lucene.store.FSDirectory`**:使用本地文件系统作为存储后端。 - **`org.apache.lucene.store.RAMDirectory`**:将索引存储在内存中,适用于测试环境或小型应用。 - **`org.apache.lucene.store....

    Annotated Lucene 中文版 Lucene源码剖析

    - `org.apache.lucene.store.Directory`接口定义了存储索引的基本行为,其实现类包括基于文件系统的`FSDirectory`和基于内存的`RAMDirectory`。 - `org.apache.lucene.store.IndexInput`和`org.apache.lucene....

    分析Nutch的工作流程

    - **实现类**:`org.apache.nutch.parse.Parse` 和 `org.apache.nutch.parse.ParseSegment` - **作用**: - 解析HTML文档,提取文本内容和链接。 - 对提取出的链接进行分析,决定是否进一步抓取。 - 根据解析结果...

    Apache Solr [Apache Con 2006]

    The architecture is open and extensible, written in Java 5, and deployable as a WAR file. #### Solr Core Architecture The core architecture of Solr is modular and includes components such as: - **...

    大数据druid集群析搭建

    * druid.storage.storageDirectory=/var/druid/segments 数据查询Web * 192.168.165.43:8081/druid/v2 * 192.168.165.43:9095 Zookeeper集群 * 192.168.167.170:2181 * 192.168.167.171:2181 * 192.168.167.173:...

    Lucene建立索引

    Lucene是一个开源的全文检索库,由Apache软件基金会开发。它的主要功能是提供高效的文本搜索引擎,尤其在处理大量数据时,其性能表现突出。倒排索引是Lucene实现搜索的核心机制,它允许快速查找包含特定关键词的文档...

    lucene检索小例子

    Lucene是一个开源的全文搜索引擎库,由Apache软件基金会开发并维护。这个"lucene检索小例子"程序展示了如何利用Lucene的强大功能来构建索引和执行搜索操作。Lucene的核心特性包括文本分析、索引创建、查询解析以及...

    oracl11g ocp 中文课件.zip

    还会讨论表空间(Tablespaces)、段(Segments)、区(Extents)和块(Blocks)的管理,以及数据文件的增加、删除和移动。 5. **Less07_Users.ppt - 用户管理** 用户管理包括创建、修改和删除用户,分配权限,以及...

    Lucene中文件格式介绍

    2. **.Segments_N** 这是索引的段信息文件,记录了当前索引中的所有段以及它们的元数据,如段的大小、文档数量、删除文档状态等。每次添加或更新文档后,Lucene会创建新的段,并更新此文件。 3. **.doc** 每个段...

    lucene 5.4.1 官方文档离线版

    Apache Lucene是一个高性能、全文本搜索库,由Java编写,被广泛用于开发搜索引擎和信息检索系统。这个离线版的Lucene 5.4.1官方文档提供了关于该版本的详细信息,包括API参考、指南和示例,帮助开发者更好地理解和...

    Lucene4.X实战类baidu搜索的大型文档海量搜索系统-04.Lucene索引深入 共24页.pptx

    2. **锁文件(Lock File)**:写锁(write.lock)确保在同一时间只有一个Lucene IndexWriter能修改索引。这个文件的存在表明有写操作正在进行,防止了多线程或进程同时对索引进行修改。 3. **Segment Info**:.si...

    PostgreSQL 12.2流复制实施步骤详细手册

    例如,***.***.**.***对应pg1,***.***.**.***对应pg2。 在主库上,需要先初始化新的数据库环境。这通常涉及到使用initdb命令,指定数据目录和启动用户。例如,初始化命令可能如下: ```bash $ initdb -D /usr/...

    Lucene读取索引文件

    一个Lucene索引是由多个文件组成的,包括但不限于 segments文件、.del文件(删除文档标记)、.tii和.tis文件(Term Info Index和Term Info postings)、.frx、.fdx、.fdt、.fdt(Field Data)等。这些文件共同构成了...

    Hl-7标准.rar

    10. **CH11e_c.doc**:第十一章的英文版或扩展版,可能涵盖了HL-7的扩展和定制,如Z-segments,允许用户根据特定需求添加自定义信息。 这些文档的综合阅读将帮助读者全面理解HL-7标准的工作原理、应用场景和实施...

    disphex.zip_in

    标题中的"disphex.zip_in"表明这是一个与数字显示相关的项目,特别是七段显示器(7-segments display)的十六进制解码器,且已经过Spartan 3 FPGA的测试。Spartan 3是Xilinx公司的一款FPGA(Field-Programmable Gate...

    深入了解Lucene之一 系统结构分析.pptx

    - **Segments**:管理多个段,支持段的合并和增删操作。 Lucene利用数组和继承来高效地组织数据结构,如SegmentMergeIndexReader和IndexWriter,它们在处理数据流时起到了关键作用。SegmentMergeIndexReader用于...

    Android So ELF的文件格式分析(1).pdf

    - **Segments**是由多个**Sections**组成的,它们在内存中作为一个整体被加载。 - 例如,一个可执行的、只读的段可能包含以下几种类型的节: - 可执行代码节(.text) - 只读数据节(.rodata) - 符号节(.dynsym...

Global site tag (gtag.js) - Google Analytics