Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,44 +1,67 @@
---
date: '2026-01-03'
description: 学习如何使用 GroupDocs.Search 在 Java 中向索引添加文档并取消合并操作。完整的文档管理 Java 指南。
date: '2026-05-12'
description: 了解使用 GroupDocs.Search 的 java 全文搜索:将文档添加到索引,配置合并选项,取消合并操作。非常适合文档管理 java
解决方案。
keywords:
- document indexing in Java
- merging documents with GroupDocs
- GroupDocs.Search Java tutorial
title: 在 Java 中使用 GroupDocs.Search 将文档添加到索引并合并
- java full text search
- document management java
- GroupDocs.Search merging
schemas:
- author: GroupDocs
dateModified: '2026-05-12'
description: 'Learn java full text search with GroupDocs.Search: add documents to
index, configure merge options, and cancel merge operation. Ideal for document
management java solutions.'
headline: java full text search – add docs & merge with GroupDocs.Search
type: TechArticle
- questions:
- answer: It tells GroupDocs.Search to scan a folder, extract searchable tokens,
and store metadata for each file.
question: What does “add documents to index” mean?
- answer: Yes—use the `Cancellation` object to abort a merge after a configurable
timeout.
question: Can I stop a long merge?
- answer: A free trial or temporary license works for testing; a commercial license
unlocks full features.
question: Do I need a license?
- answer: JDK 8 or newer.
question: Which Java version is required?
- answer: Absolutely—GroupDocs.Search can handle multi‑hundred‑page documents with
incremental indexing.
question: Is this suitable for large datasets?
type: FAQPage
title: java全文搜索 – 添加文档并与 GroupDocs.Search 合并
type: docs
url: /zh/java/indexing/implement-document-indexing-merging-java-groupdocs-search/
weight: 1
---

# 在 Java 中使用 GroupDocs.Search 将文档添加到索引并合并
# java 全文搜索 – 添加文档并与 GroupDocs.Search 合并

在当今快速发展的数字环境中,高效学习 **how to add documents to index** 对任何 **document management java** 解决方案都至关重要。无论是处理合同、发票还是内部报告,结构良好的索引都能让您在毫秒级检索信息。本教程将引导您创建索引、添加文档、配置合并选项,甚至在需要时 **cancel merge operation**——全部使用 GroupDocs.Search for Java。
在现代企业环境中,**java full text search** 是任何强大的文档管理 java 系统的支柱。无论您需要索引合同、发票还是内部报告,一个设计良好的索引都能让您在毫秒级检索到正确的信息。本教程将指导您创建索引、添加文档、配置合并选项,并安全地取消合并操作——全部使用 GroupDocs.Search for Java。

## 快速答案
- **What does “add documents to index” mean?** 它告诉 GroupDocs.Search 扫描文件夹并为每个文件存储可搜索的元数据
- **Can I stop a long merge?** 可以——使用 `Cancellation` 对象在超时后 **cancel merge operation**
- **Do I need a license?** 免费试用或临时许可证可用于测试;商业许可证解锁全部功能
- **Which Java version is required?** JDK 8 或更高版本。
- **Is this suitable for large datasets?** 绝对适用——只需监控内存并使用增量索引
- **“add documents to index” 是什么意思?** 它告诉 GroupDocs.Search 扫描文件夹,提取可搜索的标记,并为每个文件存储元数据
- **我可以停止长时间的合并吗?** 是的——使用 `Cancellation` 对象在可配置的超时后中止合并
- **我需要许可证吗?** 免费试用或临时许可证可用于测试;商业许可证可解锁全部功能
- **需要哪个 Java 版本?** JDK 8 或更高版本。
- **这适用于大型数据集吗?** 当然——GroupDocs.Search 能够通过增量索引处理数百页的文档

## 在 GroupDocs.Search 中,“add documents to index” 是什么
将文档添加到索引意味着将一组文件导入 GroupDocs.Search,以便库能够分析其内容、提取标记并构建可搜索的数据结构。完成索引后,您可以对所有文档执行快速全文
## “add documents to index” 在 GroupDocs.Search 中是什么
**将文档添加到索引意味着将一组文件导入 GroupDocs.Search,以便库能够分析其内容、提取标记并构建可搜索的数据结构。** 该过程创建了紧凑的表示,使得对所有已索引文件的全文查询能够实现闪电般的速度

## 为什么在 document management java 中使用 GroupDocs.Search?
- **Scalable indexing** – 处理数千个文件而不降低性能。
- **Rich API** – 提供对索引、合并和取消的细粒度控制。
- **Cross‑format support** – 开箱即用地支持 PDF、Word、Excel 等多种格式。
## 为什么在文档管理 java 中使用 GroupDocs.Search?
GroupDocs.Search 提供 **支持 50 多种输入格式的可扩展索引**(PDF、DOCX、XLSX、PPTX、HTML、图像等),并且能够 **在不将整个文件加载到内存的情况下处理高达 2 GB 的文档**。其 API 为您提供对索引、合并和取消的细粒度控制,使其成为企业级 java 全文搜索解决方案的首选。

## 前置条件
- **GroupDocs.Search for Java** 版本 25.4 或更高
- **GroupDocs.Search for Java** 版本 25.4 或更高
- Maven(或手动下载 JAR)。
- 基本的 Java 知识以及 JDK 8+ 环境。
- 基本的 Java 知识和 JDK 8+ 环境。

## 设置 GroupDocs.Search for Java

### Maven 安装
如果您使用 Maven 管理依赖,请将仓库和依赖添加到 `pom.xml`:
如果您使用 Maven 管理依赖,请将仓库和依赖添加到您的 `pom.xml`

```xml
<repositories>
Expand All @@ -59,19 +82,19 @@ weight: 1
```

### 直接下载
或者,从官方网站下载最新的 JAR: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/)
或者,从官方网站下载最新的 JAR: [GroupDocs.Search for Java releases](https://releases.groupdocs.com/search/java/)

### 获取许可证
- **Free Trial:** 在 GroupDocs 网站注册获取试用许可证。
- **Temporary License:** 如需延长评估,可申请临时密钥
- **Temporary License:** 如果需要延长评估期,请申请临时密钥
- **Commercial License:** 购买用于生产环境。

获取许可证文件后,将其放置在项目中,并按后文所示初始化库。

## 实现指南
## 实施指南

### 如何将文档添加到索引 – 创建第一个索引
首先,创建一个空索引,用于保存可搜索的数据
**通过实例化 `Index` 类加载或创建一个空索引,该类表示磁盘上的可搜索容器。** 此步骤为将从文档生成的所有标记准备存储位置

```java
import com.groupdocs.search.Index;
Expand All @@ -83,7 +106,7 @@ Index index1 = new Index("YOUR_DOCUMENT_DIRECTORY\\\\Index1");
- **Why:** 此步骤设置了一个存储容器,用于保存已索引的标记。

#### 将文档添加到索引
现在让 GroupDocs.Search 扫描文件夹并 **add documents to index**
**使用文件夹路径调用 `index.add`;该方法会扫描每个文件,提取文本,并将可搜索的元数据存储到索引中。** 该操作一次性完成,并遵循配置的 `IndexSettings`

```java
index1.add("YOUR_DOCUMENT_DIRECTORY"); // Add documents from this directory
Expand All @@ -92,7 +115,7 @@ index1.add("YOUR_DOCUMENT_DIRECTORY"); // Add documents from this directory
- **Why:** 库读取每个文件,提取文本,并将其存储在 `index1` 中。

### 创建第二个索引以实现灵活的工作流
有时您需要单独的索引,例如,用于隔离某个客户的数据
**实例化另一个 `Index` 对象以保存独立的文档集,在合并之前实现隔离处理。** 该模式对多租户场景或分阶段索引非常有用

```java
Index index2 = new Index("YOUR_DOCUMENT_DIRECTORY\\\\Index2");
Expand All @@ -102,10 +125,10 @@ Index index2 = new Index("YOUR_DOCUMENT_DIRECTORY\\\\Index2");
index2.add("YOUR_DOCUMENT_DIRECTORY");
```

- **Why:** 多个索引可让您管理不同的文档集合,随后再将它们合并
- **Why:** 多个索引让您管理不同的文档集,并可在后期合并它们

### 如何配置合并选项并取消合并操作
在合并之前,您可以对过程进行微调,甚至在运行时间过长时停止它
**创建 `MergeOptions` 实例,设置所需参数,并附加一个在指定超时后中止合并的 `Cancellation` 令牌。** 这让您在大型合并期间对资源使用拥有完全控制

```java
import com.groupdocs.search.options.MergeOptions;
Expand All @@ -116,66 +139,72 @@ options.setCancellation(new Cancellation()); // Initialize cancellation object
options.getCancellation().cancelAfter(5000); // Cancel merge operation after 5 seconds
```

- **Why:** `Cancellation` 让您能够自动 **cancel merge operation**,防止任务失控。
- **Why:** `Cancellation` 让您能够自动 **取消合并操作**,防止任务失控。

### 合并索引
最后,将次级索引合并到主索引中
**调用 `index1.merge(index2, mergeOptions)`;主索引在保持标记完整性的同时吸收二级索引的所有文档。** 合并后,您将拥有统一的可搜索仓库

```java
index1.merge(index2, options);
```

- **Why:** 调用此方法后,`index1` 包含来自两个来源的所有文档,为您提供统一的搜索体验。

## Document Management Java 的实际应用
- **Legal firms:** 整合多个办公室的案件文件
- **Financial institutions:** 将季度报告合并为单一可搜索的存储库
- **Enterprises:** 合并人力资源、合规和政策文档,实现全企业搜索。
## 文档管理 Java 的实际应用
- **Legal firms:** 将多个办公室的案件文件合并为单一可搜索索引
- **Financial institutions:** 将季度报告合并到统一仓库,以便快速审计查询
- **Enterprises:** 合并人力资源政策、合规手册和内部指南,实现全企业范围的搜索。

## 性能考虑
- **Incremental indexing:** 定期添加新文件,而不是重新构建整个索引
- **Memory monitoring:** 大批量可能消耗大量内存;考虑分批处理
## 性能考虑因素
- **Incremental indexing:** 定期添加新文件,而不是重建整个索引
- **Memory monitoring:** 大批量可能消耗大量内存;请将文件分成更小的块处理或启用流式模式
- **Garbage collection:** 及时释放未使用的 `Index` 对象以释放资源。
- **SSD storage:** 将索引文件存储在 SSD 上可将合并速度提升至约 2 倍。

## 常见问题与解决方案

| 问题 | 解决方案 |
|-------|----------|
| **文件夹路径不正确** | 验证绝对路径并确保应用具有读取权限。 |
| **文件夹路径不正确** | 验证绝对路径并确保应用程序具有读取权限。 |
| **内存不足** | 增加 JVM 堆内存 (`-Xmx`) 或分批索引文件。 |
| **取消未触发** | 确保在调用 `merge` 前设置 `cancelAfter`。 |
| **取消未触发** | 确保在调用 `merge` 前已设置 `cancelAfter`。 |
| **不支持的文件格式** | 如有需要,安装来自 GroupDocs 的额外格式插件。 |

## 常见问答

**Q:** *为什么我要创建多个索引而不是单个索引?*
A: 单独的索引可以隔离数据域,应用不同的安全策略,并仅在需要时合并,从而提升性能和组织性。
**A:** 单独的索引可以让您隔离数据域,应用不同的安全策略,并在需要时才进行合并,从而提升性能和组织性。

**Q:** *我可以像取消合并一样取消索引操作吗?*
A: 可以——使用 `Cancellation` 对象配合 `add` 方法停止长时间运行的索引任务
**A:** 可以——使用 `Cancellation` 对象配合 `add` 方法来停止长时间运行的索引任务

**Q:** *如何确保在非常大的文档集合中获得最佳性能?*
A: 进行增量索引,监控 JVM 内存,并考虑使用 SSD 存储索引目录
**A:** 进行增量索引,监控 JVM 内存,并将索引存储在 SSD 上。考虑使用 `BatchSize` 设置来限制内存中的文档数量

**Q:** *如果收到 “Access denied” 错误,我该怎么办?*
A: 检查运行 Java 进程的用户的文件夹权限,并确保许可证文件可读。
**A:** 检查运行 Java 进程的用户的文件夹权限,并确保许可证文件可读。

**Q:** *GroupDocs.Search 是否兼容其他 GroupDocs 库?*
A: 绝对兼容——您可以将其与 GroupDocs.Viewer、GroupDocs.Conversion 等集成,构建完整的文档解决方案
**A:** 当然——您可以将其与 GroupDocs.Viewer、GroupDocs.Conversion 等集成,构建全栈文档解决方案

## 结论
通过本指南,您现在了解如何 **add documents to index**、配置合并行为,并在需要时安全地 **cancel merge operation**——全部在强大的 **document management java** 工作流中。尝试更大的数据集,探索自定义分词器,或将 GroupDocs.Search 与其他 GroupDocs 产品结合,构建真正的企业级解决方案
通过本指南,您现在了解如何 **将文档添加到索引**、配置合并行为,并在需要时安全地 **取消合并操作**——全部在强大的 **java full text search** 工作流中。尝试更大的数据集,探索自定义分词器,或将 GroupDocs.Search 与其他 GroupDocs 产品结合,构建企业级解决方案

**资源**
- **文档:** [GroupDocs.Search Java Docs](https://docs.groupdocs.com/search/java/)
- **API Reference:** [GroupDocs API Reference](https://reference.groupdocs.com/search/java)
- **Download:** [Latest Releases](https://releases.groupdocs.com/search/java/)
- **GitHub Repository:** [GroupDocs Search for Java](https://github.com/groupdocs-search/GroupDocs.Search-for-Java)
- **Free Support Forum:** [GroupDocs Forum](https://forum.groupdocs.com/c/search/10)
- **Temporary License Application:** [GroupDocs Temporary License](https://purchase.groupdocs.com/temporary-license/)
- **API 参考:** [GroupDocs API Reference](https://reference.groupdocs.com/search/java)
- **下载:** [Latest Releases](https://releases.groupdocs.com/search/java/)
- **GitHub 仓库:** [GroupDocs Search for Java](https://github.com/groupdocs-search/GroupDocs.Search-for-Java)
- **免费支持论坛:** [GroupDocs Forum](https://forum.groupdocs.com/c/search/10)
- **临时许可证申请:** [GroupDocs Temporary License](https://purchase.groupdocs.com/temporary-license/)

---

**最后更新:** 2026-01-03
**测试环境:** GroupDocs.Search 25.4 for Java
**作者:** GroupDocs
**最后更新:** 2026-05-12
**已测试:** GroupDocs.Search 25.4 for Java
**作者:** GroupDocs

## 相关教程

- [如何使用 GroupDocs.Search 在 Java 中通过元数据索引将文档添加到索引](/search/java/indexing/groupdocs-search-java-metadata-indexing/)
- [在 GroupDocs.Search Java 中添加文档到索引并禁用停用词以提升搜索准确性](/search/java/dictionaries-language-processing/disable-stop-words-groupdocs-search-java/)
- [将文档添加到索引 – GroupDocs.Search Java 教程](/search/java/document-management/)
Loading
Loading