• by Aditya Agarwal on Thursday, July 5, 2007 at 10:58am

      We asked ourselves this question more than once while working on improvements to search in March 2006. At the time, there were bigger search engines out there, including some good open source ones, that we could have used to power Facebook search results. However, we decided that searches carried out on Facebook had a particular structure that only we could understand and optimize for. We wrote a crawler for the site, created an in-memory reverse index using both hashes and ternary tries and created a ranking system that scaled to return... unique results for over 28 million user profiles.

      Some quick stats about Facebook search:

      • Over 600 million searches per month. This makes us one of the top 20 search engines on the web in terms of number of searches.
      • Approximately 1 terabyte of in-memory data.
      • Average search query time of less than 100ms.
      • Most used people search engine on the web.

      Facebook search results are sorted by an approximation of social graph distance. People closer to you in the graph—your friends and people in your networks—are likely to be more relevant to you and thus are ranked higher. We also use this concept of "social proximity" to order results within applications like groups and events. Facebook search's key differentiator is that search results are unique to every user because they are based on a individual's place in the social graph.

      We have big plans to improve Facebook search in the upcoming months. We want to leverage the power of the social graph to further improve the quality of the results and ensure that you find what you are looking for on Facebook.



      Aditya Agarwal, a Facebook Tech Lead, is searching for an answer...
      See More
    • · Comment · Share
    • by Aditya Agarwal on Friday, February 9, 2007 at 5:29pm

      At Facebook, we believe that every engineer has a great idea within them. We had a Hackathon last week, and it was a chance for each engineer to surface this idea and spend a night cranking away on it.

      Hackathon is a chance to work on the ideas we have been thinking about for last couple of months, to change the "That would be hot!" sentiment to something real and live on the site. The objective is to create something interesting by the end of the night that you can get feedback on from your peers and coworkers.

      There were some rather memorable... moments of this Hackathon. A fridge stocked with Red Bull kicked off the evening. When projects were announced at the opening gather-round, I realized what a rich pool of talent we have in the office and was anxious to see what the night would produce.

      There was the 2am feeding frenzy during which 40 burgers were devoured in about three minutes. And to top it all off, there was a breakfast run to IHOP that took us about 2 hours to get served. My advice: Don't roll in 45 deep to an IHOP at 6am.

      The best story ever showed up on just about everyone's News Feed around 5am.

      Watch out for some cool things to come out of our most recent Hackathon. "Photos of you and friend," an iPhoto exporter, and Ajax-ed wall posts (so you can post on a friend's Wall without leaving the profile page) were all made over the course of the night. Other fun additions were the ability to access Facebook on a Nintendo Wii!

      There were plenty of other great ideas that may make their way into the site or into other projects over time…Facebook pets still might not happen, but someone got to spend the time on it, just because they wanted to.



      Aditya is a Facebook engineer. His Hackathon project isn't going to be released on Facebook...yet.

      See More
    • · Comment · Share

Most Popular Stories

Newsroom

Newsroom

Visit the newsroom for the latest updates from Facebook.

Facebook Favorites

Blog Archive

Looking for a specific post? Visit our full archive of blog posts sorted by categories and dates.