Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

badoo.com user search - how can this be done?

Badoo.com has 56.000.000 user profiles. Profiles can be searched by sex, age, hair color, zodiac, education and so on, plus distance from my hometown, online status and date of registration. So far, this seems doable even if it's quite some query on huge tables (56m members...), it can be cached in a general way.

The interesting part is that they also have an individual "exclude list" (with every profile you look at, you can say that you don't want to meet this person). Plus, you friends don't show up either.

The second interesting part are the OR parts of the query. You can search for someone who's a woman, 25-35, blonde OR brunette, non-smoker, hetero OR bisexual, virgo OR twins OR cancer, living in a 50KM radius of Paris and who is not your friend and not on your exclude list and who's online now. Many ORs, heavy query, sort options, no way of caching or pre-calculating all this, but the search returns 11.298 results in milliseconds.

How do they do such a thing with 56 million datasets and 250K people using it at the same time? Fulltext search indexes? Relational Databases? Key Value Stores? Does anyone have an idea abou the concept or architecture?

like image 217
Jens Avatar asked Aug 05 '10 15:08

Jens


People also ask

How can I search for someone on Badoo?

Sadly, there is no way of looking up people on Badoo using their full name. Knowing their email address, social media account names, or even their phone number won't help either. Knowing that there are more than 423 000 000 registered accounts on Badoo is not encouraging if you want to find a specific person.

What is Badoo app used for?

Badoo is also a location-based social service. It's designed to help you find people nearby who share your interests, and there's a strong smartphone app. It's pitched as great if you're looking to hang with someone in a new city you're visiting, or connect with people at an event.

Is Badoo a hookup app?

Parents need to know that Badoo is an adults-only app for online dating-style social networking. It includes features standard on most social media platforms have available, including live streaming.

Where Badoo is most used?

Instead, Badoo tops the charts. Over the past 6 months, Badoo was the most popular dating app in France, Spain, and Italy. Source: apptweak.com – Download estimates for the top 3 most popular dating apps in the United States, United Kingdom, France, Germany, Italy, and Spain between August 8, 2021 and February 8, 2022.


1 Answers

They are most likely built using an inverted indexing technology like Lucene or Sphinx. If you are looking to build a solution, my recommendation would be Apache Solr (a search server built using Lucene). It is very popular, has an active OSS community, and is used by sites such as Netflix, Cnet etc.

like image 136
Mikos Avatar answered Nov 12 '22 21:11

Mikos