omorillon Posted March 23, 2013 Share Posted March 23, 2013 How can I exclude folders from my search results? I have Parallels installed, which created a Windows Application folder and every time I launch an application. For example Google Chrome I get two options, the mac version and the version installed in Parallels. I know that Alfred is smart enough to show the mac version first but it would be nice to avoid search results from specific folders. CarlosNZ 1 Link to comment
grgarside Posted March 23, 2013 Share Posted March 23, 2013 You can exclude files/folders by adding alfred:ignore to the Spotlight Comments of the file/folder you want Alfred to ignore. You can also add files/folders to System Preferences > Spotlight > Privacy to ignore it. You might need to clear Alfred's caches (type reload in Alfred) for it to pick up the updated metadata. OAL and Nistelrooy 2 Link to comment
omorillon Posted March 24, 2013 Author Share Posted March 24, 2013 Neither of these methods is working for me. I added the comment, and added the folder containing the applications I don't want to show up in my search results to System Preferences > Spotlight > Privacy but I'm still seeing them. Is there anything else I can do? Link to comment
omorillon Posted March 24, 2013 Author Share Posted March 24, 2013 I just realized that Spotlight no longer shows results for the Windows Applications folder, but why does Alfred keep showing me those results? Is there a Spolight setting within Alfred I need to look at? Link to comment
jdfwarrior Posted March 24, 2013 Share Posted March 24, 2013 I just realized that Spotlight no longer shows results for the Windows Applications folder, but why does Alfred keep showing me those results? Is there a Spolight setting within Alfred I need to look at? Have you tried reloading the Alfred app cache? Check out the Advanced tab in Alfred's preferences to clear the cache. You could also try dragging the Applications folder in the Privacy section, waiting a moment, and then pulling it back out. That ill cause OSX to reindex the Applications folder. OAL and CarlosNZ 2 Link to comment
omorillon Posted March 25, 2013 Author Share Posted March 25, 2013 Reloading the Alfred app cache did the trick! Thanks. OAL and CarlosNZ 2 Link to comment
jdfwarrior Posted March 25, 2013 Share Posted March 25, 2013 Reloading the Alfred app cache did the trick! Thanks. Glad it worked out. Thanks for reporting back Link to comment
fredcallaway Posted April 7, 2014 Share Posted April 7, 2014 Thanks for the advice all. The alfred:ignore tip didn't work for me, although maybe I just needed to wait longer for the cache to reload. Whatever the case, the spotlight privacy settings worked. My next question is: is it possible to tell alfred to ignore a folder in general search, but to not ignore when using a specific keyword? I have many articles on my computer that I don't want to sift through every time I use alfred, but I want to be able to search through them with a keyword "article." Does anyone have any ideas? Link to comment
jdfwarrior Posted April 7, 2014 Share Posted April 7, 2014 Thanks for the advice all. The alfred:ignore tip didn't work for me, although maybe I just needed to wait longer for the cache to reload. Whatever the case, the spotlight privacy settings worked. My next question is: is it possible to tell alfred to ignore a folder in general search, but to not ignore when using a specific keyword? I have many articles on my computer that I don't want to sift through every time I use alfred, but I want to be able to search through them with a keyword "article." Does anyone have any ideas? Is it a folder or the contents within the folder that you aren't wanting to see in default results? The reason I ask is, if it's the contents, what I would more suggest would be to turn off some of the additional items in the Default Results section of Alfred's prefs and have a workflow file filter to search just that folder and its contents. That way you don't get a bunch of random stuff in the default results and can then have keywords when you want to specifically target certain areas. For instance, I only have Apps, Contacts, and Preferences shown in the default results, no folders. If I want to search folders, I have a file filter with the keyword set to a comma, that searches and shows ONLY folder results. Or if I had a workflow that was all work related content, I could create a file filter that would search ONLY that folder and it's contents. Link to comment
fredcallaway Posted April 7, 2014 Share Posted April 7, 2014 Is it a folder or the contents within the folder that you aren't wanting to see in default results? The reason I ask is, if it's the contents, what I would more suggest would be to turn off some of the additional items in the Default Results section of Alfred's prefs and have a workflow file filter to search just that folder and its contents. That way you don't get a bunch of random stuff in the default results and can then have keywords when you want to specifically target certain areas. For instance, I only have Apps, Contacts, and Preferences shown in the default results, no folders. If I want to search folders, I have a file filter with the keyword set to a comma, that searches and shows ONLY folder results. Or if I had a workflow that was all work related content, I could create a file filter that would search ONLY that folder and it's contents. Sorry, I should have been more clear. It is the contents of the folder that I am interested in filtering. I thought of turning off all PDFs in the default results, but ideally I would be able to see some PDFs in the default results, just not the ones in one folder. This might not be possible, but my goal is to blacklist a particular folder (rather than a particular file type) from only the default results. Link to comment
pier Posted January 28, 2018 Share Posted January 28, 2018 Sorry for reviving an old thread but this is the first Google result on the matter. Would be awesome if there was a way to define a dynamic ignore. For example I'd like to ignore all node_modules folders which are created on every new JS project. AFAIK there is not really a way to do that in Spotlight either, but it would be awesome if Alfred could solve this. Link to comment
deanishe Posted January 28, 2018 Share Posted January 28, 2018 3 hours ago, pier said: AFAIK there is not really a way to do that in Spotlight either That's basically why it's impossible to do with Alfred, too. Alfred uses the same metadata index and API as Spotlight, so suffers from many of the same limitations, including the "whitelist-only" approach, which is inherent to the API. So for technical reasons, adding a blacklisting layer to Alfred would have a very significant impact on performance. A blacklist has been requested many times, but the Alfred team has expressed reluctance for the above reason. It sucks especially for folks with Node projects, as node_modules is basically Alfred's kryptonite. A Node project is effectively a worst-case scenario for the Spotlight/Alfred model. pier 1 Link to comment
dfay Posted January 29, 2018 Share Posted January 29, 2018 I use Hazel to automatically add the alfred:ignore tag where needed (e.g. backup volumes). A Hazel rule to add the tag to any folder named node_modules & its contents should be trivial to set up. Link to comment
deanishe Posted January 29, 2018 Share Posted January 29, 2018 3 hours ago, dfay said: A Hazel rule to add the tag to any folder named node_modules & its contents should be trivial to set up. It's trivial to set up, but not necessarily a great idea. There can be many tens of thousands of files in node_modules, and Hazel's help specifically warns against rules that would cause it to visit every file in such a large tree. I think you'd be better off with a script that you can run as needed rather than having Hazel check every single file in node_modules every time something changes. Link to comment
dfay Posted January 29, 2018 Share Posted January 29, 2018 hmmm....not familiar with node but that makes sense. In my use case there’s one or two new files per day. Link to comment
pier Posted January 29, 2018 Share Posted January 29, 2018 (edited) 4 hours ago, deanishe said: I think you'd be better off with a script that you can run as needed rather than having Hazel check every single file in node_modules every time something changes. Would adding the alfred:ignore tag to a folder make Alfred ignore all the files and subfolders too? Edited January 29, 2018 by pier Link to comment
deanishe Posted January 29, 2018 Share Posted January 29, 2018 8 minutes ago, pier said: Would adding the alfred:ignore tag to a folder make Alfred ignore all the files and subfolders too? No. If it did, this would be easy to do… The alfred:ignore tag only applies to the folder it's set on, not its contents. Hazel, as @dfay recommended, is a great fit for the task of tagging all the files in general. But you have to be careful using Hazel with large directory trees and recursive rules (which you'd probably need in this case). You don't want Hazel checking 20,000+ files every time something changes in node_modules. Hazel's UI also isn't very good with large numbers of folders. I think the "right" solution would be a post-install hook that tags just the package that changed/was added. Link to comment
Paul Razvan Berg Posted November 23, 2019 Share Posted November 23, 2019 (edited) This may not be a solution per se, but switching to yarn 2 will implicitly solve this issue with Alfred. They built a new system-wide caching mechanism which avoids installing "node_modules" in every node project.https://github.com/yarnpkg/berry Edited November 23, 2019 by Paul Razvan Berg Enhance grammar Link to comment
BrandonS Posted November 26, 2019 Share Posted November 26, 2019 On 1/28/2018 at 5:30 PM, deanishe said: That's basically why it's impossible to do with Alfred, too. Alfred uses the same metadata index and API as Spotlight, so suffers from many of the same limitations, including the "whitelist-only" approach, which is inherent to the API. So for technical reasons, adding a blacklisting layer to Alfred would have a very significant impact on performance. A blacklist has been requested many times, but the Alfred team has expressed reluctance for the above reason. It sucks especially for folks with Node projects, as node_modules is basically Alfred's kryptonite. A Node project is effectively a worst-case scenario for the Spotlight/Alfred model. Would a regex filter option be an acceptable compromise there? In our case, we want to omit any file with `node_modules` in the file path. Doesn't seem like that would add much overhead Link to comment
deanishe Posted November 27, 2019 Share Posted November 27, 2019 (edited) 12 hours ago, BrandonS said: Would a regex filter option be an acceptable compromise there? As I understand it, it's not the actual filtering that's an issue, it's retrieving the metadata for the search results from the metadata API that are required to do the filtering in the first place. Say, for example, you search for "index.js", the API will return (hundreds of) thousands of results if you have some Node projects. The API only returns "handles" for the results, which is very fast. The application (Alfred) then has to separately request the actual metadata for each result it's interested in. This is the slow bit, so Alfred tries to retrieve the metadata for as few files as possible. So excluding node_modules from a search of your Node projects (which really is a worst-case-scenario for a search system set up this way) would mean Alfred has to fully load many, many thousands of results just to throw 95% or more of them away. Which would be terribly slow in any case. A better solution (for the Node case, at least) would be to write yourself a workflow based on ripgrep or some other gitignore-aware search tool. The best solution would probably be yarn 2, as @Paul Razvan Berg suggested above. The whole Node idea of plopping all your app's dependencies in the project folder is okay for deployment, but a silly way to develop (given the stupendous number of dependencies that typical Node apps have). Edited November 27, 2019 by deanishe Link to comment
possertive Posted May 5, 2020 Share Posted May 5, 2020 Has there been a solution to exclude node_modules and/or specific named folders from being indexed? Not just filtering as denishe mentioned? Link to comment
deanishe Posted May 6, 2020 Share Posted May 6, 2020 No, nothing has changed. That's the way the metadata index has always worked, so it seems very unlikely to change at this point. Link to comment
strajk Posted August 6, 2020 Share Posted August 6, 2020 On 5/5/2020 at 4:15 AM, possertive said: Has there been a solution to exclude node_modules and/or specific named folders from being indexed? Not just filtering as denishe mentioned? Although not perfect, I've written a small helper to add all `node_modules` folders to Spotlight ignore list. https://github.com/Strajk/setup/blob/master/programs/prevent-spotlight-from-indexing-node-modules.js (But I'm still hoping for better solution) Link to comment
pontus Posted October 13, 2020 Share Posted October 13, 2020 On 5/5/2020 at 4:15 AM, possertive said: Has there been a solution to exclude node_modules and/or specific named folders from being indexed? Not just filtering as denishe mentioned? My workaround is to add the project folders to the Privacy tab in Spotlight prefs. It's not perfect but I rarely search for source code files with Alfred or Spotlight. Of course you could also add all folders named node_module but that would be harder to back track. For this approach, do a Finder search and just drag n drop. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now