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!