问题标签 [windows-search]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
564 浏览

c# - SystemIndex Catlog Query 未搜索文档的内容

我有以下查询,用于在本地系统中搜索给定的搜索词。以下查询仅在文件标题中搜索给定的搜索词,而不是从文件内容中搜索。它只是从 .txt 文档中搜索文件的内容,而不是从 .doc 和 .pdf 文档中搜索文件的内容。看起来很奇怪。请帮忙。

非常感谢您提前提供的帮助和时间。

0 投票
1 回答
73 浏览

c# - 通过 Windows 搜索启动应用程序会为 Path.GetFullPath(...) 提供不同的结果

我在 C# 中使用Path.GetFullPath方法有一些奇怪的问题。

在我的应用程序启动时,它会搜索一些文件夹并通过 GetFullPath 方法检索路径。如果我通过 IDE 或通过双击输出文件夹启动应用程序,一切正常。

但是,如果我使用资源管理器移动到输出目录并通过“*.exe”搜索可执行文件并启动我的应用程序,GetFullPath 方法将返回一个从 C 目录开始的字符串。

这个问题是因为 Windows 搜索将当前目录重置为 C 吗?

找到起始目录的最佳方法是什么,例如 Assembly.GetExecutingAssembly().Location ?

0 投票
2 回答
1498 浏览

c# - 检查某个位置是否已在 Windows 搜索中编入索引

如何检查位置是否已编入索引?我发现以下代码可以索引 Windows 中的一个位置,该位置工作正常,但我想在将其编入索引之前检查它是否已编入索引。

伙计们,我找到了一种方法来检查该位置是否已通过使用 IncludedInCrawlScope 进行索引。

但它只检查它是否已被添加用于索引,而不是索引是否完整。由于我将查询 SystemIndex,我需要确保该位置已被索引。

0 投票
0 回答
700 浏览

c# - 搜索部分数字时,Windows Search SQL 不返回结果

我编写了一个程序,它为 Windows 2012 R2 服务器上的文件共享提供一个 Web 界面。在 webapp 中,我添加了查询在该服务器上运行的 Windows Search 索引的功能,以便用户可以返回结果。以下是用于在索引中搜索的查询:

适用于大多数情况,但文件名中的数字除外。似乎 any 仅将数字作为一个整体进行分组。例如,如果我有一个名为“G-5687-R2.txt”的文件,搜索“G”、“G-5687”、“5687”或“2”将返回该文档。但是,搜索“G-56”或“56”不会返回任何内容。在 Windows 资源管理器中执行“56”搜索确实会返回文档,所以我认为我的查询中缺少一些东西。

完整代码如下:

0 投票
0 回答
260 浏览

windows-search - 如何使 Windows 搜索与自定义 HTML META 标记一起使用?

在 Win2008 上使用 Windows 搜索。我正在使用 Microsoft.Search.Interop(CSearchQueryHelper 等)以编程方式进行搜索。我有在标题中包含 META 标记的现有 html 文件:

我需要能够搜索这些(查询“fooo:baaa”)并返回结果集中的值。(我可以使用旧的索引服务来做到这一点。)

我尝试将“fooo”属性添加到属性系统(PSRegisterPropertySchema)。我现在可以在 QuerySelectColumns 中使用“fooo”而不会出错,但数据永远不会回来。此外,CSearchQueryHelper 似乎没有将“fooo:”识别为属性约束。

搜索不合格的“baaa”会返回文档。(baaa 不会出现在元标记之外的任何地方。)

0 投票
2 回答
3799 浏览

c# - Windows 搜索 - 有没有更好的方法?

我需要在给定位置搜索文件以获取指定内容。这些文件将通过网络应用程序(可能不一定在同一台服务器上)进行搜索,并且应该几乎实时更新。

在四处寻找扫描工具/代码后,我找到了这个答案,表明您可以通过编程方式连接到 Windows 的内置 Windows 搜索功能。

使用下面的代码(或多或少带有一些小调整的答案代码),我已经能够成功地在我的机器上完成这项工作:

我对此有几个疑问:

  1. 除了使用字符串查询之外,还有更好的(即更多的 .Net)访问 Windows 搜索的方法吗?
  2. 有没有办法对文本进行参数化?我尝试直接添加OleDbParameters到命令,但显然 Collat​​orDSO 不支持它。显然,我不希望事先清理数据——比如 SQL 注入,我可能会错过一些会导致问题的潜在途径

    /li>
  3. 这可以从远程机器访问吗?

  4. 即使服务器没有安装相关软件,这也能工作 - 即如果目录包含一个 excel 文件,即使服务器没有安装办公室,它也会索引吗?
0 投票
1 回答
426 浏览

c++ - 使用 IFilter C++ 获取 OLE 属性

我一直在使用 IFilter COM Object 来从文件中提取文本。我设法提取了 OLE 属性(例如作者的值、公司的值等),但我不知道如何知道作者、公司等的值是什么。

换句话说,我需要知道什么是属性 ID,并将其与属性的值相匹配。

我已经看到使用 IPropertyStorage->ReadMultiple 的解决方案,但我正在尝试使用 IFilter 来获得相同的解决方案。

多谢!希望你能找到答案。

0 投票
1 回答
1610 浏览

c# - IErrorInfo.GetDescription 通过 OleDB 使用 Windows 搜索 API 失败,出现 E_FAIL(0x80004005)

我正在使用来自 C#(OleDB 访问)的 Windows Search API 使用以下 C# 代码检索本地计算机(Windows 8.1)搜索索引上的所有索引条目:

我发现代码While(Reader.Read())在错误 IErrorInfo.GetDescription failed with E_FAIL(0x80004005) 的行上不可重现地崩溃。该循环处理 76,080 个条目中的大约 55,000 个。如果我注释掉,sText = reader.GetValue(4).ToString();那么循环运行得更快,因为 Autosummary 字段大约有 1000 个字符,并且存在于大多数条目中。在这种情况下不会发生崩溃。如果我在循环中设置一个断点并一次通过一个条目,那么崩溃发生得更快,让我认为这是一个时间问题。是否有人在以编程方式访问搜索索引时遇到过类似的问题并找到了解决方法?

0 投票
0 回答
2015 浏览

asp-classic - 替换 Windows 2012 服务器上的索引服务

我们公司有 2 个当前网站托管在 windows server 2003 上。这些网站使用经典 ASP 构建,并使用 MSIDXS 提供程序连接到特定的数据源/索引服务目录(每个网站一个)并显示结果SQL 搜索基于字符串参数返回到 ASP 页面。

我们正在将这些网站迁移到不再支持索引服务的 Windows server 2012: Microsoft 网站上的确认

因此,我们的 IT 部门已通过 2012 服务器上服务器管理中的角色安装了 Windows Search(出于安全原因,我们只能通过 FTP 连接到服务器),但我们找不到任何有关如何将 ASP 页面连接到windows 搜索服务,定义它应该搜索的位置以产生搜索结果。

有其他人遇到过这个问题并解决了吗?

0 投票
0 回答
424 浏览

asp.net - Windows 搜索服务:搜索部分内容

我正在尝试搜索上传到文件夹中的文档内容。如果我要搜索的话,它工作正常。如果我提供部分工作,它就不起作用。例如,如果我使用Microsoft搜索,它会列出文档。但是如果我用Micro搜索它不会返回任何结果

以下是我的代码..