Поисковая Индексация вмешивается в наш процесс сборки, и я хотел бы исключить все экземпляры наших dev каталогов от индексатора (у нас есть соединительная линия и установка ответвлений).
Я мог исключить целый родительский каталог, но это исключит слишком много файлов.
Я могу сделать это вручную путем отмены выбора каждого экземпляра в опциях индексации, но это является очень ручным и утомительным.
Я нашел правила в реестре в HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules
, но я не знаю, является ли это кошерным для обновления этого на лету.
Действительно ли возможно исключить каталоги из Windows Search подстановочным знаком или некоторым другим менее - ручные критерии?
Я заглянул HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\DefaultRules
ключ и найденный чем-то интересным.
DefaultRules\1
содержит:
Default REG_DWORD 0x00000001
Include REG_DWORD 0x00000000
Policy REG_DWORD 0x00000000
Suppress REG_DWORD 0x00000000
URL REG_SZ file:///C:\Users\*\AppData\Local\Temp\*
Посмотрите на это URL
ключ - два подстановочных знака!
Таким образом, так как Windows Search исходно поддерживает подстановочные знаки, все, что мы должны сделать, настроить существующее исключение.
Indexing Options
→ Modify
и отмена выбора одного каталога (в моем случае, C:\Users\MyName\dev\trunk\bin
).Services
, выбрать Windows Search
, щелкните правой кнопкой по нему, и выбор Stop
.HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules
.Настройте исключение.
В моем случае у меня есть несколько проверенных ответвлений, таким образом, у меня будут каталоги для trunk
и для каждого имеющего версию ответвления (такой как 3,2, 4.0, и т.д.). Таким образом, я изменился URL
ключ от
file:///C:\Users\MyName\dev\ProjectName\trunk\bin
кому:
file:///C:\Users\MyName\dev\ProjectName\*\bin
Windows Search
и выберите Start
или Restart
.Именно! Каталоги даже сняты флажок/исключены в Опциях Индексации.