遇到以上异常,原因:
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);
}
-- 查找索引目录下有没有文件,如果有则表示已经建立了索引,如果没有则新建索引。
分享到:
相关推荐
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,作为Apache软件基金会的一个顶级项目,是一个高度成熟、广泛使用的全文检索引擎架构。它为开发者提供了一套强大的工具,用于在各种应用中实现高效的全文搜索功能。这个“lucene基本包”包含了Lucene的核心...
- **`org.apache.lucene.store.FSDirectory`**:使用本地文件系统作为存储后端。 - **`org.apache.lucene.store.RAMDirectory`**:将索引存储在内存中,适用于测试环境或小型应用。 - **`org.apache.lucene.store....
- `org.apache.lucene.store.Directory`接口定义了存储索引的基本行为,其实现类包括基于文件系统的`FSDirectory`和基于内存的`RAMDirectory`。 - `org.apache.lucene.store.IndexInput`和`org.apache.lucene....
- **实现类**:`org.apache.nutch.parse.Parse` 和 `org.apache.nutch.parse.ParseSegment` - **作用**: - 解析HTML文档,提取文本内容和链接。 - 对提取出的链接进行分析,决定是否进一步抓取。 - 根据解析结果...
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.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是一个开源的全文检索库,由Apache软件基金会开发。它的主要功能是提供高效的文本搜索引擎,尤其在处理大量数据时,其性能表现突出。倒排索引是Lucene实现搜索的核心机制,它允许快速查找包含特定关键词的文档...
Lucene是一个开源的全文搜索引擎库,由Apache软件基金会开发并维护。这个"lucene检索小例子"程序展示了如何利用Lucene的强大功能来构建索引和执行搜索操作。Lucene的核心特性包括文本分析、索引创建、查询解析以及...
还会讨论表空间(Tablespaces)、段(Segments)、区(Extents)和块(Blocks)的管理,以及数据文件的增加、删除和移动。 5. **Less07_Users.ppt - 用户管理** 用户管理包括创建、修改和删除用户,分配权限,以及...
2. **.Segments_N** 这是索引的段信息文件,记录了当前索引中的所有段以及它们的元数据,如段的大小、文档数量、删除文档状态等。每次添加或更新文档后,Lucene会创建新的段,并更新此文件。 3. **.doc** 每个段...
Apache Lucene是一个高性能、全文本搜索库,由Java编写,被广泛用于开发搜索引擎和信息检索系统。这个离线版的Lucene 5.4.1官方文档提供了关于该版本的详细信息,包括API参考、指南和示例,帮助开发者更好地理解和...
2. **锁文件(Lock File)**:写锁(write.lock)确保在同一时间只有一个Lucene IndexWriter能修改索引。这个文件的存在表明有写操作正在进行,防止了多线程或进程同时对索引进行修改。 3. **Segment Info**:.si...
例如,***.***.**.***对应pg1,***.***.**.***对应pg2。 在主库上,需要先初始化新的数据库环境。这通常涉及到使用initdb命令,指定数据目录和启动用户。例如,初始化命令可能如下: ```bash $ initdb -D /usr/...
一个Lucene索引是由多个文件组成的,包括但不限于 segments文件、.del文件(删除文档标记)、.tii和.tis文件(Term Info Index和Term Info postings)、.frx、.fdx、.fdt、.fdt(Field Data)等。这些文件共同构成了...
10. **CH11e_c.doc**:第十一章的英文版或扩展版,可能涵盖了HL-7的扩展和定制,如Z-segments,允许用户根据特定需求添加自定义信息。 这些文档的综合阅读将帮助读者全面理解HL-7标准的工作原理、应用场景和实施...
标题中的"disphex.zip_in"表明这是一个与数字显示相关的项目,特别是七段显示器(7-segments display)的十六进制解码器,且已经过Spartan 3 FPGA的测试。Spartan 3是Xilinx公司的一款FPGA(Field-Programmable Gate...
- **Segments**:管理多个段,支持段的合并和增删操作。 Lucene利用数组和继承来高效地组织数据结构,如SegmentMergeIndexReader和IndexWriter,它们在处理数据流时起到了关键作用。SegmentMergeIndexReader用于...
- **Segments**是由多个**Sections**组成的,它们在内存中作为一个整体被加载。 - 例如,一个可执行的、只读的段可能包含以下几种类型的节: - 可执行代码节(.text) - 只读数据节(.rodata) - 符号节(.dynsym...