Skip to main content

How Facebook’s Graph Search works…sort of

facebook graph search icon
Image used with permission by copyright holder

Even though Graph Search hasn’t been rolled out to everyone yet, it has managed to become the talk of Facebook lately; and for good reason. For those unfamiliar, Graph Search is Facebook’s answer to the personalized results you can get from search engines like Google and Bing – just far more contextualized and with way more specific data about your social circle (and your social circle’s social circle).

How exactly Graph Search works has remained a bit of a mystery, but recently Facebook’s Engineering blog gave a no-holds-barred look at what makes Graph Search’s gears turn.

By comparison, Facebook’s older search engine (called PPS) was elementary. Keywords were the only factors that PPS used to generate results . Even its “Search Filter” was rudimentary, narrowing down results based on broad topics like People, Groups, and Pages, to name a few.

Now let’s dig into Graph Search. Over the past few years, Facebook has been slowly integrating new features that would eventually feed Graph Search. Take, for example, “Typehead,” which is essentially Facebook’s answer to Google’s Autocomplete. As you type a query, the search engine makes an educated guess as to what you’re searching for and suggests results in a dropdown box. Typehead introduced in 2009 – long before Graph Search was introduced – but it wasn’t as sophisticated then as it is now inside Graph Search.

This is where things start to get complicated. To conceptualize how Graph Search works, think of the bigger picture of relationships between friends, pages, photos, posts and groups as a vast web. Friends have a relationship to friends, pages and photos via likes and comments. And these pages, photos and groups have a relationship with each other.

fbid graph search
Image used with permission by copyright holder

Facebook’s engineers shared the above diagram to try to break things down a little bit. Picture the large dots, which we’ll call nodes, as nouns – they could be friends, pages, groups, posts and even your name. How these nouns are related to each other are represented by the arrows (which include relationship attributes like “Friend,” “Tagged,” “Photo,” “Event,” “Likes,” and so forth) called “Edges.” So, what you see in this diagram is how user Sriram Sankar would be related to the page titled “Breville.” In this case, the relationship is via a “like.”

Taking a step back and looking at the bigger picture, you might be astonished at how Facebook has managed to map out a network piggybacking on our social nature. It even knows the relationship between Queen Elizabeth and George VI and the history of Star Wars, says Facebook Engineer Sriram Sankar.

To make the experience for users more search engine-like, Facebook moved away from solely relying on keyword searches for Graph Search and decided on natural language processing. This means you can type searches the way you naturally speak and Graph Search’s algorithm will look at every single word you’ve typed and determine what you’re looking for.

The concept seems easy enough, but apparently executing it was easier said than done. With Facebook’s original search engine (1.0), actions on Facebook – check ins, likes, comments, your personal info, etc. – were only used to rank results.  With version 2.0, Graph Search indexes all of these actions to figure out the relationship between the words you’ve typed. For instance, if you search for “Mark Zuckerberg,” Graph Search needs to know that “Mark” and “Zuckerberg” refers to Facebook’s CEO, not people who happen to share the first name “Mark” and last name “Zuckerberg.” Programming Graph Search to know the difference wasn’t easy – and that’s where “Unicorn” enters the picture.

Simply put, Unicorn tags each node with numbers and uses it to decipher what you’re searching for contextually. Take a look at the following index, which was noted in the blog post as an example.

If Facebook were to index the names Mark Zuckerberg (fbid: 4), Randi Zuckerberg (fbid: 13755), Mark David Johnson (fbid: 1001) Randi Johnson (fbid: 5542), and David Johnson (fbid: 10003), the following  is how it might look. It’s a bunch of names and numbers and graphs right now, but you’ll understand what it means in just a minute (for reference: fbid refers to Facebook ID). 

mark → 4

zuck → 4

randi → 13755

zuck → 13755

mark → 1001

david → 1001

johnson → 1001

randi → 5542

johnson →5542

david → 10003

johnson → 10003

The name Mark Zuckerberg (Zuck) is tagged with fbid 4, Randi Zuckerberg is tagged with 13755, and so forth. This organization is applied without regard to the space between the names since the names are related. Potentially, a name like Mark could have as few as one entry (fbid number) or millions.

fb graph search unicorn
Image used with permission by copyright holder

This is important because Graph Search treats a name like “David Johnson” as a search for “David” and “Johnson.” But, as the grid above illustrates, Graph Search seeks to understand that relationship between the two names.

To figure out which “Johnson” you might be searching for, Facebook uses what it calls “importance” to pull results that Unicorn thinks are the most important to you.. To visualize how Unicorn would decipher what you’re looking for, look at the three dots under “Johnson.”  Of the possible results, the one that Facebook will spit back at you is the one considered most relevant. Facebook doesn’t get into the specifics of importance metric however, so there’s little light we can shed on how it works.

And there you have it. Now you should have a pretty good idea on how Facebook Graph Search works for you to impress your friends with, or to bring up in a bar conversation.

Editors' Recommendations

Francis Bea
Former Digital Trends Contributor
Francis got his first taste of the tech industry in a failed attempt at a startup during his time as a student at the…
How to use Twitter Advanced Search
Twitter app on the OnePlus 10T.

If you are looking for a very specific tweet, you may want to consider using Twitter's Advanced Search tool. This tool allows you to search the bird app's massive collection of tweets via a variety of different factors, terms, and filters (including searching by date). And it's a better option than scrolling forever through your bookmarked tweets or relying on Twitter simpler Search bar.

If you're ready to use a more detailed search tool (and you know what you're looking for), keep reading to learn how to use Twitter's Advanced Search tool.

Read more
Reels are about to show up in yet another Facebook feature
A smartphone with the Facebook app icon on it all on a white marble background.

As its answer to TikTok, Reels is clearly a particularly important priority for Meta. Which is why a number of its platforms' recent feature updates often involve Reels. And today's announcement was not exempt from Meta's push to make Reels just as competitive as TikTok.

On Thursday, Meta announced that it would be bringing Reels to Facebook Groups, mentioning it as one of three new ways for users to "to connect over shared interests." Facebook group members and admins will be able to add "audio, text overlay and filters on top of their videos before sharing to bring their stories to life."

Read more
What is a Facebook Pixel? Meta’s tracking tool, explained
A silhouetted person holds a smartphone displaying the Facebook logo. They are standing in front of a sign showing the Meta logo.

If you have a website for your business and you're wondering how well your ads are reaching prospective customers, you'll probably want to be able to measure that to make sure that the money you've spent on advertising for your business is money well spent. Meta (the parent company of social media platforms Facebook and Instagram) offers a tool that can measure that by capturing how your customers interact with your business' website.

At one point, this tool was known as a Facebook Pixel. But since the technology company's recent rebranding to Meta, the tool also underwent a name change and is now known as the Meta Pixel.

Read more