Empêcher Spotlight d'indexer des dossiers portant un certain nom

17

Existe-t-il un moyen d'ignorer globalement les dossiers portant un certain nom (par exemple node_modules)

Je sais que je peux le faire manuellement pour chaque instance, mais je me demandais s'il était possible de faire savoir à Spotlight de ne pas indexer ces dossiers? node_modules, par exemple, contient généralement des milliers de fichiers que je ne souhaite pas rechercher et cela finit par ralentir les projecteurs.

J'ai regardé autour de moi, mais je ne trouve que des réponses qui suggèrent d'ajouter manuellement des dossiers dans la liste de confidentialité Spotlight. Quelqu'un a-t-il une meilleure façon de faire?

rzr
la source
1
L'ajout de dossiers spécifiques à la confidentialité Spotlight est le moyen de l'ignorer lors de l'indexation. Pourquoi êtes-vous contre de le faire de la manière fournie par Apple?
fsb
3
Parce que je veux ignorer de nombreuses instances de ce dossier et faire "la manière fournie par Apple" sera long et inefficace (je pourrais en manquer). En plus de cela, chaque fois qu'un nouveau node_modulesdossier est créé, je vais devoir l'ajouter manuellement.
rzr

Réponses:

15

Il n'existe aucune méthode connue pour exclure de Spotlight un fichier ou un dossier basé sur un modèle (ex.: Son nom).

Cependant, il est possible d'exclure un dossier de Spotlight en y ajoutant un fichier vide .metadata_never_index.

Vous pouvez utiliser cette méthode pour ignorer tous les dossiers node_moduleet bower_modules:

find /path/to/projects -type d \( -name "node_modules" -o -name "bower_modules" \) -exec touch "{}/.metadata_never_index" \;
mems
la source
5
Je ne peux pas confirmer que cela fonctionne pour mon Mac avec Sierra à partir d'aujourd'hui. J'ai exécuté le script et je peux trouver tous les .metadata_never_indexfichiers cachés dans mes modules node_modules, mais après une actualisation forcée de l'index Spotlight, les fichiers sont toujours en cours d'indexation. Il y a aussi un nœud_modules NPM Github PR ouvert mais j'ai peur que ce ne soit pas la solution finale au problème github.com/npm/npm/issues/15346
pascalwhoop
Remarque: Chrome et Opera l'utilisent pour le dossier de profil. Voir bugs.chromium.org/p/chromium/issues/detail?id=395300#c5
mems
Malheureusement, .metadata_never_indexn'est pas honoré sur mojave.
Karl Pokus
4

Au cas où quelqu'un aurait manqué le commentaire de fsb dans la question, comme moi . Apple fournit un onglet de confidentialité dans les paramètres Spotlight.

Allez dans "Préférences Système"> "Spotlight"> "Confidentialité"> "+" Ajoutez des dossiers à la liste.

Remarque: Cela peut ne pas fonctionner immédiatement, j'ai dû redémarrer Spotlight pour voir les effets.

HexInteractive
la source
2

Apparemment, l' ajout de «.noindex» à un nom de dossier parent empêchera l'indexation de Spotlight.

NB: je n'ai pas personnellement vérifié.

pattes
la source