1

我正在寻找一种在 Word 文档中搜索并显示与搜索条件匹配的文档结果的方法。我将尝试在此处更详细地描述该场景。

在 Windows 系统上,我有一堆文件夹。每个文件夹都有很多 Word 文档。现在我需要一个应用程序,它可以在特定文件夹中搜索可能出现在这些 word 文档中的关键字。类似于 MySQL 的FULLTEXT搜索。

因此,如果我搜索以下关键字:microsoft, windows XP那么我希望它列出包含一个或多个这些关键字的每个 Word 文档。

当然,这些关键字出现的文档越多,它在结果列表中的排名就应该越高。

现在我的问题是,是否有这样的工具可以做到这一点?还是我自己在 C#.NET 中编写这样的工具更好?如果是这样,我必须查看哪些 API?

PS。它们是.doc.docx文件。

4

4 回答 4

2

看起来你需要一个成熟的搜索引擎,包括解析、索引、排名、搜索等。自己实现它可能不是很愉快……你可以看看Apache Lucene

于 2012-08-21T12:35:47.593 回答
0

在你的鼻子下面有一个工具。它是 Windows Search ,它有一个 API可以完美地满足您的需求。

如果您没有安装 Office ,您可能必须安装过滤器包以提供特定于 Office 的索引。

于 2012-08-21T12:38:10.727 回答
0

索引在 Windows 中可用,并且可以处理 Word 文档:

如果要建立自己的索引,可以使用 IFilters 从文档中提取文本:How to extract text from MS office documents in C#

于 2012-08-21T12:39:26.483 回答
0

您可以尝试Microsoft Store上提供的SmartFinder APP 。

它是使用 Java 和Apache Lucene库开发的。

您可以搜索文本并立即获取文档摘录,并在结果中突出显示搜索的单词。您可以使用元数据(作者、关键字、出版商等)优化搜索,也可以使用通配符进行搜索(例如使用 * 或 ? 特殊字符)。

这是下载 APP 的 Microsoft Store 链接:https ://www.microsoft.com/store/apps/9PD0BCV3WKD1

在此处输入图像描述

于 2021-11-26T08:50:11.367 回答