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!
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.