git - 有没有办法忽略某些模式的 Windows 搜索索引?

标签 git windows-search

有没有办法忽略某些模式的 Windows 搜索索引?

例如,我想跳过以下文件夹:

C:\Git**.git\
C:\Git**\packages\
C:\misc\git**.git\
C:\misc\git**\packages\

这些会导致搜索结果中出现数以千计的额外噪音匹配。

我确实想索引 C:\misc\git 中的各种文件夹,除了 .git 或 .packages 子文件夹中的内容。我只找到了一种静态的方法来做到这一点,没有任何基于模式的方法。这似乎是一个常见的用例,有点像 git 使用 .gitignore 来使某些内容不受版本控制的方式。在这种情况下,它会将其排除在搜索索引之外。

我在“索引位置”中没有看到任何此类模式的设施。我认为可以通过运行某种脚本来在每次内容更改时排除当前匹配项(例如添加 C:\misc\git\somethingnew)来完成,但这与优雅相反。

任何帮助,将不胜感激。

一分钱

最佳答案

根据 this answer来自 @PryrtCJ Windows 注册表项 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules\包含允许使用通配符的规则。

regedit with *.git\ exclude rule

要添加这样的规则,我建议在索引选项中添加一个 .git 文件夹到排除的路径,然后找到正确的键(URL 将是……像 file:///C:\[partition-or-disk-id]\path\to\.git\ )。
然后编辑 key 权限(选择包含 .git URL 的 key 并右键单击它) - 您需要将 key 所有者从 SYSTEM 更改为您的帐户并允许管理员组修改 key 。

advanced permissions settings

如果您有权限修改它,右键单击URL,选择修改并将其内容更改为file:///*\.git\ .稍后恢复以前的权限(只是为了避免问题)。

通过这种方式,您可以创建任何 * 过滤器,例如。 file:///C:\misc\*\packages\*

关于git - 有没有办法忽略某些模式的 Windows 搜索索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43504666/

相关文章:

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

c# - Windows 搜索 - 在 C# 中进行全文搜索

windows - 如何为 Windows 资源管理器搜索 UI 编写自定义搜索提供程序

git - 如何对 git 子模块使用相同的协议(protocol)?

git - 如何退出 GitKraken 客户端?

git - "Connection to github.com closed by remote host"推送时

git - 从 Kubernetes secret 获取凭据时的 go-git 基本身份验证问题

git - 将分支 merge 到 master 上的新子目录中

Windows 搜索 - IFilter 搜索词突出显示

windows-search - 如何启动/停止/暂停 Windows 搜索索引器