以编程方式为 Windows 搜索服务创建目录

Posted

技术标签:

【中文标题】以编程方式为 Windows 搜索服务创建目录【英文标题】:Create a catalog for Windows Search Service programmatically 【发布时间】:2012-09-09 23:35:05 【问题描述】:

我已经阅读 Windows 搜索服务文档和示例超过一天了,虽然我学到了很多东西,但我仍然觉得离我正在寻找的答案还差得远。

上下文是我有一个使用索引服务进行全文搜索的网络应用程序。因为这不再受支持并且存在大量错误,所以我想从索引服务迁移到 Windows 搜索服务。

在索引服务解决方案中,我为要索引的文档创建了一个目录(而不是使用默认的系统索引)。具体来说,我使用 CIODMLib.AdminIndexServer 对象根据需要以编程方式创建目录。

在我需要迁移到 WSS 之前,这些都是花花公子。至多我只能在 WSS 文档中找到偶尔提到的目录,而没有关于用 C# 来创建它们的 API。那么,第一个问题:有没有办法以编程方式创建 WSS 目录?

作为后续问题,是否有必要创建多个目录?我可以安全地在 SystemIndex 上使用 SCOPE()(如 SQL 语法)来高效地进行全文查询吗?

【问题讨论】:

注意:使用 SCOPE() 仅提供索引服务目录所做功能的一小部分。在索引服务中,可以轻松控制文件/文件夹包含、文件/文件夹排除、索引计划等。 【参考方案1】:

我在全文查询方面遇到了同样的问题。不过,我可以回答,SCOPE 可以用来限制查询,不需要多个目录。

objRecordSet.Open "SELECT System.ItemName, System.ItemTypeText, System.Size FROM SystemIndex WHERE SCOPE='file:c:/users'", objConnection

这几乎是逐字逐句地从 TechNet 上的 vbscript 示例中提取的。

【讨论】:

以上是关于以编程方式为 Windows 搜索服务创建目录的主要内容,如果未能解决你的问题,请参考以下文章

RxSwift - 在 UISearchBar 中以编程方式触发搜索

如何在 C# 中以编程方式搜索 PDF 文档 [关闭]

以编程方式读取 PDF 嵌入式搜索索引

如何以编程方式为 WCF 服务创建自签名证书?

以编程方式禁用移动 Chrome 43 的“触摸搜索”功能

如何以编程方式取消使用 searchBar 和 fetchedResultsController 的搜索?