I'm through at least three complete reorganizations where I even dusted off old backups and collected all photos (because I felt I was deleting photos too liberally last time), de-duplicated (and de-quadruplicated) them all, and built the new "forever" structure.
It sucks that I just know I'll do it again at most five years from now.
I figure that a combination of wetware and software is the current sweet spot. My brain usually has enough associations and context to turn every photo search into a time or place filter - "I think it was downtown last year" or "some time in summer at home" or "it had my wife in it". The photo storage system need only provide search/filter on date and place to narrow it down to a few hundred thumbnails, plus machine-learning to tag people. Which is basically what iOS provides, no more, no less.
Any other up-front categorization or tagging is basically wasted effort.
For me, I wrote a bulk tool that renames my photo file names by reverse geocoding the GPS information via Open Street Maps. That way I can do text search for place, as well as 2d map search. It's at https://unto.me
Problems local to my machine, not Orwellian nightmares.
But reading your comment gave me a thought: filesystem hierarchies are indeed insufficient, but what about filesystem hierarchies with liberal use of hardlinks?
* A database for backlinks. (Links from file X to file Y would only be possible when X has an appropriate file format -- `.txt`, `.md`, `.org`, etc.)
* A search grammar with the following primitives:
* find children of (links from) query results
* find parents of (links into) query results
* take the disjunction (OR) of queries
* take the conjunction (AND) of queries
* group queries with parentheses
* The ability to pipe files found via ordinary shell commands into that grammar.
Given the size of most peoples' knowledge graphs, you wouldn't even need to keep a text index (ala Lucene) -- `find` and `grep` would be more than sufficient. ~/pictures/2022/202212/20221225
And I tag them with as many tags as I can be bothered with using XnView. XnView lets me find pictures by name or by tag.Tagging them with embedded IPTC tags is the way to go. DigiKam works (mostly) as a substitute for the late Picassa. (I'd use that, but the last version has a nasty bug in that it sometimes swaps faces in the recognition database, which then tends to corrupt it all).
The major problem I've had is that in the beginning I didn't really have enough free disk space to keep up. That is no longer an issue, nor is it likely to be again.
photos and pictures organization should be a solved problem.
(That is, let you search using words for things in the photo or themes like “winter”).