Exclure des répertoires de la recherche Windows par caractère générique

17

L'indexation de recherche interfère avec notre processus de construction, et je voudrais exclure toutes les instances de nos répertoires de développement de l'indexeur (nous avons une configuration de tronc et de branches).
Je pourrais exclure tout le répertoire parent, mais cela exclurait trop de fichiers.

Je peux le faire manuellement en désélectionnant chaque instance dans les options d'indexation, mais c'est très manuel et fastidieux.

J'ai trouvé les règles dans le registre à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules, mais je ne sais pas si c'est casher de le mettre à jour à la volée.

Est-il possible d'exclure des répertoires de la recherche Windows par caractères génériques ou d'autres critères moins manuels?

mskfisher
la source
Mon meilleur conseil est d'abandonner la recherche Windows défectueuse et d'utiliser des produits tiers. Pour la recherche: Everything Search Engine et Agent Ransack . Pour le menu Démarrer: Classic Shell .
harrymc
@harrymc Belles suggestions! J'utilise moi-même la recherche de tout, mais l'indexation de la recherche Windows fait toujours partie intégrante de Windows. La désactiver complètement arrête certaines autres fonctions, par exemple sans la recherche OneNote ou même le balisage ne fonctionne pas. L'exclusion de répertoires aurait simplement été un moyen de l'empêcher de faire un travail inutile.
laggingreflex
Windows Search est ce qu'il est et il y a une limite à sa flexibilité. Vous pouvez limiter sa plage au minimum absolu dont vous avez besoin et utiliser les utilitaires ci-dessus pour les travaux lourds.
harrymc

Réponses:

19

J'ai regardé dans la HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\DefaultRulesclé et j'ai trouvé quelque chose d'intéressant.

DefaultRules\1 contient:

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\*

Regardez cette URLclé - deux caractères génériques!

Ainsi, puisque Windows Search prend en charge nativement les caractères génériques, tout ce que nous avons à faire est de modifier une exception existante.

Ajout d'exceptions génériques à la recherche Windows

  1. Ajouter une exception de modèle.
    Ajoutez une exception pour un répertoire approprié en accédant à Indexing OptionsModify et en désélectionnant un répertoire (dans mon cas, C:\Users\MyName\dev\trunk\bin).
  2. Arrêtez le service de recherche Windows.
    Allez dans Services, sélectionnez Windows Search, cliquez dessus avec le bouton droit et sélectionnez Stop.
  3. Recherchez l'exception existante.
    Ouvrez l'Éditeur du Registre et accédez à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Search\CrawlScopeManager\Windows\SystemIndex\WorkingSetRules.
    Parcourez chaque sous-clé numérotée pour trouver la vôtre.
  4. Modifiez l'exception.
    Dans mon cas, j'ai extrait plusieurs branches, donc j'aurai des répertoires pour trunket pour chaque branche versionnée (comme 3.2, 4.0, etc.). J'ai donc changé la URLclé de

    file:///C:\Users\MyName\dev\ProjectName\trunk\bin
    

    à

    file:///C:\Users\MyName\dev\ProjectName\*\bin
    
  5. Redémarrez le service de recherche Windows.
    Faites un clic droit sur Windows Searchet sélectionnez Startou Restart.

C'est ça! Les répertoires sont même décochés / exclus dans les options d'indexation.

mskfisher
la source
Notez que vous devrez supprimer et reconstruire votre index (ou supprimer et recréer les fichiers précédemment indexés) pour empêcher Windows Search de continuer à surveiller ces emplacements.
mskfisher
Mes exceptions sont apparues dans `HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows Search \ CrawlScopeManager \ Windows \ SystemIndex \ WorkingSetRules`
CAD bloke le
5
Quelqu'un a-t-il pu confirmer si le caractère générique s'étend sur plusieurs répertoires? Supposons que je veuille empêcher l'indexation de tous les dossiers nommés 'node_modules', peu importe où ils se trouvent dans la hiérarchie des fichiers?
M-Pixel
@Qwertman Vous devriez pouvoir le vérifier en le regardant dans l'interface utilisateur des options d'indexation.
mskfisher
1
Windows 10 donne une erreur lors de la modification de la valeur Impossible de modifier l'URL: erreur lors de l'écriture du nouveau contenu de la valeur. Edit: Ahhh avait juste besoin de changer les autorisations sur la clé
laggingreflex