Live data from Hacker News

Building a Simple Search Engine That Works

karboosx.net

71–80 of 82 posts

Re: Building a Simple Search Engine That Works

#71
post #59

Earlier quoted context omitted.

I feel at this point you'd almost be better off hand-curating a set of domains and only crawl those.

not sure if this was intentional, but everything old is new again; back to OH yahoo? or Craig's list?

Not quite, in that you can curate domains but crawl all the urls on those domains.

I think SEO plam + AI slop is likely to lead us back to human curation.

Re: Building a Simple Search Engine That Works

#72
post #5

About a decade ago, I was working with a guy who was getting a PhD in search engine design, which I knew/know nothing about. It was actually a lot of fun to chat with him, because he was so enthusiastic about how searching works and how it can integrate with databases, and he was eager to explain this all to anyone who would listen. I learned a fair amount from him, though admittedly I still don't know much about the…

People who work on really obscure things love to talk about their work, heck if someone would listen to me I could talk for hours about what I do. Unfortunately very few people care about the minutia of making a behemoth system work.

As I have gotten older, I have grown immense respect for older people who can geek out over stuff.

It’s so easy to be cynical and not care about anything, I am certainly guilty of that. Older people who have found things that they can truly geek out about for hours are relatively rare and some of my favorite people as a result (and part of the reason that I like going to conferences).

I like my coworkers and they’re certainly not anti-intellectual or anything, but there’s only so long I can ramble on about TLA+ or Isabelle or Alloy before they lose interest. It’s not a fault on them at all, there are plenty of topics I am not interested in.

Re: Building a Simple Search Engine That Works

#73

Long time ago, I've really enjoyed a course by David Evans from Virginia University about building a search engine and concepts of computer science. Building a "classic" search engine is a very fun project to go through. https://www.cs.virginia.edu/~evans/courses/cs101/ List: https://www.youtube.com/watch?v=9nkR2LLPiYo&list=PLAwxTw4SYa... Dave's profile: https://www.cs.virginia.edu/~evans/

I took this one as well - even as a new programmer is was really engaging and information-dense.

Re: Building a Simple Search Engine That Works

#74
post #4

Earlier quoted context omitted.

This was the solution I was thinking about, but I thought, well that's the way someone would have done it 20 years ago

Alright but why do we not have more search engines that are actually good? I'd love to cut myself off from Google, including Google Search, but any alternatives manage to be even worse. Consistently so. It's as if Google won the war by being just permanently slightly better - while everyone is actually really crap. That wasn't the case, say, 10 years ago or so.

Have you tried Kagi?

Re: Building a Simple Search Engine That Works

#75
post #42

Earlier quoted context omitted.

What is the order of magnitude of the largest document store that you can practically work from SQLite on a single thousand-dollar server run by some text-heavy business process? For text search, roughly how big of a corpus can we practically search if we're occupying... let's say five seconds per query, twelve queries per minute?

If you held a gun to my head and forced me to make a guess I'd say you could push that approach to order of 100K, maybe 1M documents. If sqlite had a generic "strictly ascending sequence of integers" type[1] and would optimize around that, you could probably push it farther in terms of implementing efficient inverted indexes. [1] primary key tables aren't really useful here.

From my experience, SQLite's FTS5 is orders of magnitude more performant than that, i.e. for 100K documents, 7 queries/second on some of the cheapest 1 vCPU Virtual Machines.

But it is true that a specialized search engine using a more clever algorithm might be another order of magnitude faster.

Re: Building a Simple Search Engine That Works

#76

Earlier quoted context omitted.

Do you have a source how funding yandex funds the war? Yandex is a great search engine, so I would hate to find out that this is true

It's based in Russia so it presumably pays taxes and salaries in Russia.

.ru is but .com is based on Europe with different results for each.

Re: Building a Simple Search Engine That Works

#77
post #60
post #56

Earlier quoted context omitted.

I think in today's world the harder problem is evading SEO spam. A search engine is in constant war with adverserarial players, who need you to see their content for revenue, rather than the actual answer. This neccessitates a constant game of cat and mouse, where you adjust your quality metric so SEO shops can't figure it out and capitalise on it.

I wonder how hard it is when mice are not paying the cat to serve ads.

It sure helps, though there's still a lot of adversarial content you still need to deal with, so it's not a solved problem even if you remove the conflict of interest.

Re: Building a Simple Search Engine That Works

#78
post #42

Earlier quoted context omitted.

What is the order of magnitude of the largest document store that you can practically work from SQLite on a single thousand-dollar server run by some text-heavy business process? For text search, roughly how big of a corpus can we practically search if we're occupying... let's say five seconds per query, twelve queries per minute?

If you held a gun to my head and forced me to make a guess I'd say you could push that approach to order of 100K, maybe 1M documents. If sqlite had a generic "strictly ascending sequence of integers" type[1] and would optimize around that, you could probably push it farther in terms of implementing efficient inverted indexes. [1] primary key tables aren't really useful here.

> If sqlite had a generic "strictly ascending sequence of integers" type

Is that not what WITHOUT ROWID does? My understanding is that it's precisely meant to physically cluster data in the underlying B-Tree

If that is not what you meant, could you elaborate on the "primary key tables aren't really useful here" footnote?

Re: Building a Simple Search Engine That Works

#79
post #63
post #56

Earlier quoted context omitted.

I think in today's world the harder problem is evading SEO spam. A search engine is in constant war with adverserarial players, who need you to see their content for revenue, rather than the actual answer. This neccessitates a constant game of cat and mouse, where you adjust your quality metric so SEO shops can't figure it out and capitalise on it.

There are more kinds of search engines than just internet search engines. At this point I’m is almost certain that the non-internet search engines of the world are much larger than internet search engines. Edit: And I’m getting downvoted for this. If it’s because I am tangential to the original comment then that’s fair. If it’s because you think I’m wrong, I have worked on the two largest internet search engines in t…

What do you mean by a non-internet search engine, and what might be one that is bigger than Google/Bing?

Re: Building a Simple Search Engine That Works

#80

Building a simple text search engine isn't that hard. People show them off on HN on a fairly regular basis. Most of those are fairly primitive. Unfortunately building a good search engine isn't that straightforward. There's more to it than just implementing bm25 (the goto ranking algorithm), which you can vibe code in a few minutes these days. The reason this is easy is because this is nineties era research that is a…

what is your opinion about postgres full text search with tsvector, web_totsquery etc?
Post reply on HN