You might’ve heard that search sucks on software X… maybe software Y… definitely on software Z. The default one kind of sucks on NodeBB too, admittedly.
But why? It’s because search is really frickin’ hard to get right, and expensive to get good at.
Remember that Google started as a search company, and they became king because they got really good at it, and it was their only product (at the time, anyway!)
The easiest type of search is “full text” search. It matches words exactly based on what you type in. For example if you search lemmy
it would match posts that include the word lemmy
but depending on how the content was indexed, might not match lemmy.world
, lemmy.ca
, lemmyverse
, etc.
From there you start adding complexity like supporting AND
and OR
. You support partial matches (lem
returns posts containing lemmy
and lemmings
).
Add more logic to remove stop words and articles like a
, the
, etc.
Put in some sorting logic to rank stuff higher (what’s your algo? Recency? Votes? etc.)
That’s just the tip of the iceberg… this problem domain is so vast that entire companies have been built around just providing searching as a service (e.g. Algolia), and it isn’t cheap!
Not to mention that on the Fediverse you don’t have access to the whole spread network, by design. It is good for many aspects, but absolutely awful for search
Search also sucks because people suck.
If I post a picture of a flower with the caption “Look what grew in my garden!”, that’s a terrible post from a search point of view.
Later on someone will search for “flower” but I didn’t use the word “flower” so now search sucks.
Of course a much more common post is someone posting a picture of text, from Twitter, Tumblr, etc. with, once again, a vague caption. You remember the picture, but not what the poster actually said.
Searching comments will sometimes help, but that depends on the comments being related.
but I didn’t use the word “flower”
Well, hopefully you’ve added an
ALT
text to the picture for all those visually challenged people out there - which then also helps search engines.Does anyone remember way before Google had image recognition technology, the time they built a game that paired up random people on the internet, showed them each an image, and waited for them to both guess the same keyword?
It was gamified human powered taxonomy for meaningless internet points and it was hilarious (at the time.)
Google Image Labeler apparently, but I don’t actually just remember the game. Looks like it’s called Crowdsource now, and you can get points, but it isn’t a competition.
Don’t forget to mention that Google is no longer that good at it lol
What gets me is when I set to sort results by top, 1 month (for example) and it shows posts from 2 years ago
I wish more fedi software had advanced search options like Peertube
I think Meilisearch is pretty good. I throw it wherever possible and it works :) Implementing a custom solution is not worth it.
There’s also Marginalia if you’re looking for some rather traditional web search.
Is this rant Fediverse-specific?
rglullis@communick.news A little bit, yes! There was a recent thread in the community I posted to where a discussion about the rather lacklustre search of various software took place.
I understand where you are coming from: search is not easy, but at the same time I think we already have solutions that are “good enough” and doesn’t require a ton of work from the developers. PostgreSQL FTS works well enough to power the search system for Lemmy and it works out-of-the-box, for example.
I think I’m fine. I’ll just search for some words in the title and that usually returns the correct post. And as long as it’s the Fediverse and not a closed forum with login or Discord, I can use Google, since it’s on the open internet. At least for Lemmy. Other than that it’s really hard. I don’t think any search engine can find me the article that I skimmed by Friday evening where I just vaguely remember on how it was about some Youtuber that I know, and I have no other information. I sometimes want to find stuff and it’s impossible. With any search engine/method. Sometimes my browser history helps me with that. Or homing in on a timeframe and a rough place and then scrolling through things. But a least for me it tends to be one of the two extremes. Either the rudimentary tools are fine. Or it’s really hard but a “better” search wouldn’t cut it either.