It’s open source to boot.
Once I name it, I move it from the Downloads or temp folder to a Documents folder (though it should really be called 'Library') and I sync it to the cloud with the Google Drive app. In it, there's a Reading-List folder, with a _done folder. I have a few category folders - usually for reading groups. If I read the same document in multiple reading groups, I store it in the folder of the first reading group I read it in. This way feels nostalgic to me. I will also put jpeg screenshots, txt files for notes, etc. This way feels nice, like when I used to go to the public library and see the DVDs and audiobooks next to the books.
The main query interface is MacOS spotlight, though Google Drive also works, and so would something like fzf, or any other finder. I like not having to download or use software. For annotations, I usually save a xyz.pdf and a xyz-Annotated.pdf. For news articles, I just Right Click > Print to PDF and save to the subfolder for a particular topic. You never know when something will get taken down from the Internet. If I search for something and find duplicates, I try to prune then and there.
I don't have to download any apps except for Google Drive, which I already use for e-mail, etc. I can at any point port this entire system to Dropbox, Box, self-hosted FUSE solution, or a flash drive, and keep all its functionality with no software on a computer except for a filesystem and a document viewer.
Names are hyphenated - e.g. Intro-to-Civil-War.pdf. This way feels readable with my eyes, and also most filesystem search utilities seem to tokenize well on hyphens. Tokenizing on spaces would mostly work, except you have to escape spaces on the command line.
Nowadays, there are more tools available - as others have cited - which help with finding metadata. But i like to keep things simple, and because there's still way too many PDFs whose metadata starts with "Microsoft Word...", that i still stick to my file naming convention to help give hints about the contents.
In a company, I put relevant ones in a Git repo, or sometimes in a wiki. (In any case, the company/engineering wiki will probably reference them, and code in the Git repo might as well.)
For non-public documents, I track the provenance of each. In a company Git repo, usually in `README.md`, or maybe ` For paid docs I personally own, I'm currently experimenting with inventorying all my paid digital content (books, videos, games) in GnuCash (especially since the payment transactions will be there). (I'm still slightly uncomfortable with, say, a $50 `.pdf` just sitting in my homedir, without indication that it's not public and shareable.)
By "manual" I mean various scripts, on MacOS. "bib" for example is an Alfred keyword that runs a script scraping the front browser page for bibtex data, and initializing a new folder based on this data. Other scripts write search output files that "Find Any File" thinks it saved; FAF offers a nice Finder-like interface for selectively opening search results.
I've avoided any canned solution. I don't want vendor lock, and I'd rather be crippled by my own lack of imagination than someone else's.
By far the most useful metadata are the dates of access. One wanders continuously through an idea space no software can adequately categorize, yet adjacent items in time are likely related.
The holy grail I haven't coded yet is to generate web pages with URI schemes that open each PDF in a viewer. GoodReader is a nice viewer on iOS with such an interface; stunningly its own browser can't understand these links, but DropBox can. To simplify versions for MacOS and iOS, one can write a custom URI handler on MacOS that recognizes the GoodReader link, and redirects it on a Mac.
The goal here is to meaningfully browse closer to the speed of light than clumsy current standards. Just as lock-picking is both skill and cycles, research is both skill and cycles: One wants to have the right three ideas in close enough proximity for our feeble brains to notice the connection. We have to be in our happy place when we're flailing for hours, days, years; it would nevertheless be nice to accelerate this process.
I've been in constant friction with the MathSciNet team: I believe that it should present itself as the premier playground for machine learning mind mapping experiments, in addition to maintaining its stodgy hand curation. There is some controversy as to how math is organized. Many great mathematicians wander freely; others never read a paper outside their field after the age of 23. Departmental hiring meetings degenerate to "it's the number theory group's turn", perpetuating a dated view of how math is organized. Independent views of the MathSciNet database could give us new understandings of our field.
[title] - [optional subtitle] - [comma separated contributor list] (publisher name, year of publication). Contributors can include authors, editors, translators; in that order. If the name becomes too long for the file system, I opt for "et al." after a few names. Examples: Structure and Interpretation of Computer Programs - Harold Abelson, Gerald Jay Sussman, Julie Sussman (The MIT Press, 1996).pdf The Phenomenology of Spirit - Georg Wilhelm Friedrich Hegel, Terry Pinkard (Cambridge University Press, 2018).pdf Computer Graphics - Principles and Practice - John F. Hughes, Andries van Dam, Morgan McGuire, et al. (Addison-Wesley, 2014).pdf
Zotero generally is pretty good about finding metadata, and there are plugins for full text search. I've probably had as many cases of SciHub serving up the wrong document as Zotero failing to find metadata.
I tried recoll, but with the default parameters on my setup the db filled my disk. I think the database was close to 1/15 of indexed disk size. After freeing uo disk space I still use it to find things occasionally, but haven't checked whether the db is updating.
I organize at the app level. I have different apps on all my devices for different kinds of documents.
One for work/research, one for novels/non-fiction/poetry. I rely on the recently opened section for continued reading. All of the apps have big book-shelf features, so the title doesn't matter. When transfering, I sometimes email the document to myself with the title in the subject.
I use Okular, native doc viewer in Pop OS, Ebookdroid and Ebookdroid Pro.
In some cases, I preface with a YYY-MM-DD date, for sorting. In cases where I want to link to something (like when I attribute images in my writing), I may have a title like "wikimedia-commons-man-on-a-unicycle.pdf", or somesuch.
Other times, I consider it important to keep the original filename.
I'll often rely on the container context, to provide classification.
If you want to go even more low level, the scholarref bash script is amazing.
Edit: misread, thought you were asking about annotations.
I use Zotero with the ZotFile and BetterBibTex plugins for my academic papers, and Calibre for my ebooks.
I'm not an archivist, and I don't read enough to benefit from automating this problem. https://xkcd.com/1319/
Pdfs are then grouped into folders per topic.