PriEco Quality Benchmarking

Intro

Hi! Some of you may know PriEco and you may know the results aren’t the best yet. I’m committed to improve it as much as I can. I’ve decided to document it here. Hopefully I am allowed to, will provide a coherent source of information, show some transparency on my side and we could have discussions.

Why here? Because of community and I like Privacy Guides. I could do it on X/Mastodon/Bsky or on own blog (that would be first post) but I don’t have trust that people would ready it there.
Please tell me if it’s appreciated here and if not I’ll stop

I still believe the main reason why PriEco lacks behind is index size. It’s just too small compared to more established web search engines

Index size

Google (40-50B results, 400B known URLs)
doesn’t publicly report it, but we can estimate from sources:
WorldWideWebSize estimates Google at roughly 40-50B pages (Bing at 1-3B, I find it hard to believe as both Mojeek and Brave search report much higher numbers)
I’d say that general agreed upon numbers online are ~50B results and 400B known URLs
But there are claims as 8B (Maybe they mean domains)

Bing (8-14B)
SEJournal
IndexMachine
Again, it’s just estimation

Brave search (8B+)

Source
Here we can estimate Brave search is roughly Bing size as it was 8B over 5y ago. I believe we can all agree Brave search got a lot better compared to how it was 5y ago.

Mojeek (9B)
Mojeek is pretty transparent about this. They replied to me and in 2025 they reached 9B (it’s in their timeline)

That said, there is a meaningful distinction about how many URLs (web pages) a web search engine knows about crawling and actually stores and serves as results indexing.
I personally have 0 care for now about how many URLs PriEco knows about but! for the sake of this post I ran a script: 2.1B. I care only about how many results it can deliver to you: LIVE STATS (need to improve that page design)

While writing this I stumbled across :smiling_face_with_tear:

Just so you know. That was likely version 1 of my crawler. Now it’s at version 3 and the reason was that the before versions produced unusable results. PriEco crawls the web only for a few months and only recently with a reasonable speed

PriEco (350M results, 2.1B known URLs)
I already mentioned the information but for people scanning through this
Again the known URLs is irrelevant information for me, the results count is LIVE

Ranking

This information is even more hidden. PriEco does:

  1. Concurrent full-text search (keyword matching) and IVF vector search (semantic understanding)
  2. RRF merge & deduplication: merges both indexes to 1 list of results
  3. Hand ranking: A set of hand-picked rules that boost or hurt result score
    1. Examples are: SSL, loading time, if the page is in user set lang/loc, bad url patterns, measured confidence and effort of the page, if the page is homepage…
    2. I made up each signal weight. I am now looking to do a Google & Brave search query log optimization to improve it
  4. Reranker model + PageRank
  5. Cap SERP (search engine result page) to max 3 results from a single domain

Online is a lot more information about how to do ranking and I’m looking to ways to include in my ranking pipeline to improve results quality.
Right now it’s about putting some logic behind hand ranking weights

Tests

Product becomes what you optimize it for. We need a proper “Gold standard” or a measurable metric we optimize PriEco against so that we can reliably measure if it’s getting better. We could measure against Google like so many before me did.

NDCG (AI helped, don’t yet have a proper test) I took 50 Google, Brave search, Mojeek and PriEco SERPs of the same query
Sample of the queries:

  • simple: youtube, netflix sign in, wikipedia english main page
  • products: best video editing software 2026, best wireless earbuds for working out
  • questions: difference between ssd and hdd sequential read write speeds or why does rust borrow checker reject mutable references in loops

The questions and test code was AI made for now
These are results:
Google (Measured against) 1.0000
Brave Search Score: 0.5599
Mojeek Score: 0.2932
PriEco Score: 0.0856

We can clearly see PriEco scored the worst. BUT! It’s workable, considering even index size compared to Mojeek is 30 times smaller and PriEco ranking isn’t yet very smart

That said, likely the test wasn’t entire optimal. It contained a lot of long queries. But it’s good to compare how PriEco scores on it compared to Brave search and Mojeek, which in my view makes the score pretty reasonable

Final words

First of all it isn’t yet done. I just wrote this to communicate current state of PriEco. I will keep this post updated as I improve the ranking, run more tests and grow the index.

Excited for any of your replies to this topic

6 Likes

Would having user feedback, e.g. asking how the results were, be something that could help with this?

4 Likes

Hi! Sorry, I wrote this 3 days ago and only now, for me roughly at midnight it got approved

It could, but not sure if I can get enough user input for it to be meaningful
But I can add it, maybe I’m wrong and it would be amazing

For now, I tried doing at a small scale what the 1st test measured. I took a few dozens Google queries and ordered results, and then ran an algorithm on it so that it tried matching Google as much as possible. I got it from 0.0856 → 0.1079 score, which is a meaningful improvement

Most requested addition to PriEco is a user URL/domain submission or crawling on their part itself. I’m now bringing the submission to PriEco. As adding the exact pages users want should improve the quality the most

3 Likes

Helou! Sorry guys for not updating it here for so long. The reason is truly that I wasn’t working on ranking, but don’t worry as I’m working on PriEco daily and did other things
Now the rest is becoming good enough, and I’d like to really improve ranking. I just want to make PriEco very usable if not even an excellent web search engine
I’m looking into how I want to design the ranking to maximize resulted quality

I’m trying to be creative too, and my newest addition is an addition to PriEco Web Discovery project. PriEco website itself now participates too. When you search for something in PriEco, PriEco checks if it has root possible domains in its index and if not pings those domains. If they return 200 code (they are live) PriEco shows placeholder results


and sends the domains to crawler priority queue

1 Like

I’m thinking something with a Google idea in mind. Google is obviously secretive but they do talk a bit about it + there are so many other resources


I’m now learning about each point and will try to integrate all of them in PriEco to the best of my abilities. My goal isn’t to copy Google but to learn and discover the ideas they use! I’ll keep on updating it here as I implement it all

5 Likes

Just tested a search and it did not give relevant results, while Brave gave the ideal result.

“Njalla TOS” was the search term

1 Like

Hi! Yes, PriEco is so much smaller web search engine than Brave. I’m improving it as fast as I can, but I need a bit more time

I’m sorry I couldn’t meet your expectations, hopefully I can soon

I created this post to document how I’m improving ranking, to be transparent about it, get feedback (like yours) and discuss changes

1 Like

Helou! There is a lot of work being done on PriEco these days. I’m trying to polish it all up, speed it up, improve Recall…

I think enough has happened to update you again

1st Spell checker


This is still a work in progress to improve accuracy and support more languages, but it could be helpful
It’s a part of the effort to understand the meaning of your queries
Question: As PriEco trusts you, it searches for what you typed and only suggests “Did you mean…”. Other search engines spell correct your query, and you have to click on “Search instead for…”

image
I certainly won’t be doing this until the spell checker is solid, but would you like it this way?

2nd Migrating databases
Current index is pretty bad, it’s slow and takes up a lot of storage. But the idea is right. It’s my effort right now to improve it. I’ve finally found likely an amazing database I could store it in. I’ve already migrated results metadata (titles, descriptions, urls…) to this new database. Not only it shrunk this part of index 234GB → 158GB, but it’s at least twice as fast.
At this moment it’s migrating the largest part of the index. It is 809GB large, will see where it gets

Future

The next goal is a keyword matching part of the index. Besides speeding it up I’ll be adding language, location, and date. Know that date isn’t yet most reliable in PriEco, because PriEco is now solely growing the index, not updating and rarely PriEco manages to visit a web page during the same day it was published, but it could be still useful

While I will be improving this part of the index I’m thinking about adding support for this Brave search/Kagi feature


As Brave search Googles are open source, I could just support their syntax and their ones would automatically work in PriEco too

Just know that PriEco is improving crazy fast, and I have trust that soon it is going to be very usable web search engine

5 Likes