如何删除索引并使用 GroupDocs.Search for Java 执行文本搜索
在当今数据驱动的世界中,快速 how to delete index 同时提供闪电般的 Java 全文搜索能力是一项竞争优势。无论您是构建内部知识库、法律案件存储库,还是电子商务产品目录,经过良好调优的搜索网络都能显著提升用户满意度。在本指南中,您将学习如何 设置搜索网络、创建可搜索索引、优化搜索性能,以及在需要时 从索引中删除文档——全部使用 GroupDocs.Search for Java。
快速答案
- What is the main purpose of GroupDocs.Search for Java? 它提供跨 50 多种文档格式的全文搜索,实现快速关键字检索。
- How do I perform text search in a distributed environment? 部署搜索网络,在主节点上建立文档索引,然后在任意节点进行查询。
- Can I delete documents from the index without rebuilding it? 是的,使用 Delete API 删除选定文件,实际上可以 how to delete index 而无需完整重新索引。
- What Java version is required? JDK 8 或更高版本。
- Is a license needed for production? 需要有效的 GroupDocs.Search 许可证;提供免费试用版。
什么是“perform text search”?
执行文本搜索是指查询全文索引,以检索包含指定关键字或短语的文档。GroupDocs.Search 构建倒排索引,使这些查找即使在成千上万的文件中也极其快速。
为什么要设置搜索网络?
搜索网络将索引和查询工作负载分布在多个节点上,使您能够 优化搜索性能、水平扩展并保持高可用性。这种架构非常适合对延迟和吞吐量有要求的企业级文档库。
如何使用 GroupDocs.Search for Java 实现并优化搜索网络
加载配置,启动主节点,然后添加共享相同基础路径和端口的工作节点。以这种方式部署网络,使任何节点都能处理索引或查询请求,即使文档数量增长到数十万,也能提供一致的响应时间。
步骤概览
- 定义基础配置 包含共享目录和 TCP 端口。
- 启动主节点 来管理索引并协调工作节点。
- 添加工作节点 连接到主节点,实现并行索引和搜索。
- 监控资源使用情况 并调优 JVM 堆设置,以保持低延迟。
如何在 GroupDocs.Search for Java 中删除索引
SearchNode 表示 GroupDocs.Search 网络中的一个节点,负责管理索引和查询操作。delete 方法从索引中删除指定的文档。
直接删除步骤
- 在
SearchNode实例上调用delete方法。 - 提供相对文件路径数组。
- 提交更改;索引会立即刷新,后续搜索不再返回已删除的文件。
什么是搜索网络?
搜索网络 是一组相互连接的节点集群,共享公共索引库,支持分布式索引和查询执行。它实现了大规模文档集合的水平扩展和容错能力。
如何创建可搜索索引(index documents java)
add 方法将文档索引到搜索索引中。使用 add 方法将文档添加到主节点;网络会将更改传播到所有工作节点。这种方式确保每个节点都能针对最新索引提供查询,而无需额外的同步步骤。
关键操作
- 将主节点指向包含源文件的文件夹。
- 调用索引例程;网络处理每个文件并更新倒排索引。
- 验证索引文件是否出现在指定的存储目录中。
如何移除已索引文件(remove indexed files)
当文档过期时,使用其路径调用 delete API。系统会从倒排索引中移除该文件的条目,释放存储空间并防止出现陈旧结果。
设置 GroupDocs.Search for Java
首先,使用以下设置将 GroupDocs.Search 集成到您的 Java 项目中:
Maven 设置
在 pom.xml 文件中添加仓库和依赖项:
<repositories>
<repository>
<id>repository.groupdocs.com</id>
<name>GroupDocs Repository</name>
<url>https://releases.groupdocs.com/search/java/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.groupdocs</groupId>
<artifactId>groupdocs-search</artifactId>
<version>25.4</version>
</dependency>
</dependencies>
直接下载
或者,您可以直接从 GroupDocs 下载最新版本。
获取许可证
GroupDocs 提供免费试用,允许您在购买前评估其功能。您可以通过其购买页面的步骤获取临时许可证。这将在您的测试阶段启用全部功能。
基本初始化和设置
在您的 Java 应用程序中使用以下代码初始化 GroupDocs.Search:
import com.groupdocs.search.*;
class SearchNetworkSetup {
public static void main(String[] args) {
Index index = new Index("path/to/index/directory");
// Additional configuration can be set here.
}
}
实施指南
配置搜索网络
概述: 为搜索网络建立基础路径和端口,使节点能够有效通信。
步骤 1:定义基础配置
import com.groupdocs.search.options.*;
import com.groupdocs.search.scaling.configuring.*;
String basePath = "YOUR_DOCUMENT_DIRECTORY/output/AdvancedUsage/Scaling/DeletingDocuments/";
int basePort = 49104; // Change if necessary.
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
- 参数:
basePath:网络操作的目录路径。basePort:搜索网络使用的端口号。
步骤 2:故障排除
确保您指定的端口未被防火墙阻止或被其他应用占用。必要时进行调整以避免冲突。
部署搜索网络节点
概述: 使用您的配置,在网络中部署节点,实现分布式索引和搜索。
import com.groupdocs.search.scaling.*;
String basePath = "YOUR_DOCUMENT_DIRECTORY/output/AdvancedUsage/Scaling/DeletingDocuments/";
int basePort = 49104;
Configuration configuration = ConfiguringSearchNetwork.configure(basePath, basePort);
SearchNetworkNode[] nodes = SearchNetworkDeployment.deploy(basePath, basePort, configuration);
// Nodes are now deployed and ready for further operations.
- 关键配置选项:
- Base Path & Port(基础路径和端口): 这些值应与初始配置中使用的保持一致,以确保一致性。
索引文档(create searchable index)
概述: 使用主节点高效地将文档添加到搜索索引中。
import com.groupdocs.search.scaling.*;
String documentsPath = "YOUR_DOCUMENT_DIRECTORY/path/to/documents";
SearchNetworkNode masterNode = nodes[0];
IndexingDocuments.addDirectories(masterNode, documentsPath);
- 目的:
masterNode:管理文档索引的主节点。documentsPath:包含文档的目录路径。
故障排除提示
验证文档路径是否正确且可访问。确保权限允许读取这些目录。
在网络中搜索文本(perform text search)
概述: 在已索引的网络中执行全面的文本搜索。
import com.groupdocs.search.scaling.*;
String query = "nulla";
SearchNetworkNode masterNode = nodes[0];
TextSearchInNetwork.searchAll(masterNode, query, false);
- 参数:
query:您要搜索的文本。masterNode:执行搜索的节点。
从索引中删除文档(delete documents index)
概述: 使用文件路径从索引中删除特定文档。
import com.groupdocs.search.scaling.*;
SearchNetworkNode node = nodes[0];
String[] filePaths = {
"YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.pdf",
"YOUR_DOCUMENT_DIRECTORY/Lorem ipsum.docx"
};
deleteDocuments(node, filePaths);
void deleteDocuments(SearchNetworkNode node, String... filePaths) {
Indexer indexer = node.getIndexer();
DeleteOptions options = new DeleteOptions();
indexer.delete(filePaths, options);
}
- 方法目的:
node:执行删除操作的目标节点。filePaths:要从索引中移除的文档路径。
故障排除
确保文件路径准确且文件存在于目录中。如果问题仍然存在,请检查网络权限和连通性。
实际应用
- 企业文档管理: 简化内部知识检索。
- 法律案件分析: 快速定位跨多个存储库的相关案件文件。
- 电子商务平台: 通过索引描述和评论提升产品搜索速度。
- 学术研究: 高效搜索大型数字图书馆中的论文和论文集。
- 客户支持系统: 通过让客服人员即时搜索过去的工单来降低响应时间。
性能考虑因素
- 优化索引速度: 在非高峰时段增量添加新文档,以保持低延迟。
- 资源使用指南: 监控 CPU 和内存,特别是在扩展节点数量时。
- Java 内存管理: 根据工作负载调优 JVM 堆设置(例如,中等规模索引使用
-Xmx2g)。
结论
通过本指南,您已经学习了如何使用 GroupDocs.Search for Java 设置搜索网络、创建可搜索索引、执行文本搜索以及 删除文档索引。这些功能在分布式环境中实现快速、可靠的文档检索。
下一步
- 试验不同的节点配置,以找到适合您工作负载的最佳平衡。
- 深入了解高级索引选项,如自定义分析器和相关性调优。
- 探索与其他 GroupDocs 产品的集成,实现端到端的文档处理。
常见问题
Q: GroupDocs.Search for Java 的主要使用场景是什么?
A: 它提供跨多种文档格式的全文搜索,使您能够在大型仓库中 perform text search。
Q: 如何在大型网络中提升搜索速度?
A: 部署额外节点,调优 JVM 堆,并在低流量时段安排索引,以 optimize search performance。
Q: 是否可以在不重新索引整个集合的情况下删除单个文档?
A: 可以,使用代码示例中展示的 delete documents index API 删除特定文件。
Q: 开发阶段需要许可证吗?
A: 免费试用许可证足以进行测试;生产部署需要商业许可证。
Q: 我可以同时索引 PDF、Word 文件和电子邮件吗?
A: 当然——GroupDocs.Search 开箱即支持多种格式。
最后更新: 2026-07-07
测试环境: GroupDocs.Search for Java 25.4
作者: GroupDocs