Search Engines

Dig into the core ideas behind search engine technology, from how they're built to ways they can run faster.

Searching the Whole World

Four Thousand Years of Search Engines

Crawling the Web

Searching with Sherlock Holmes

Word Search

Many Words at Once

Exact Phrases

Searching with Logic

Search Challenges

Introducing Indexes

Building an Index

An Algorithm for Indexing

Word Search with an Index

Queries with AND and OR Operators

Queries with NOT Operators

Limitations of the Index

Lossless Indexing

Storing the Index

Phrases and Wildcards

Improving Search


Course description

The Web has billions of pages containing trillions of words, yet when you type a query into the search box, the program works for just a fraction of a second, and usually picks out just the information you wanted. How is this possible? In this course you will explore the core ideas behind search engine technology. Some of these ideas predate computers by thousands of years. In addition to learning how search engines are built and queried, you will also create your own simple search index, and learn techniques for making search run faster on that index. If you want to create the next great search engine, or if you just want to use Google to understand the world better, it’s fun and worthwhile to understand more about how search works!


Topics covered

  • Creating a search index
  • History of search
  • Making search run faster
  • Multi-word and quoted search
  • Search engine design
  • Searching with logical operators
  • Set intersection and union
  • Size of the internet
  • Venn diagrams
  • Web graph

Prerequisites and next steps

A basic understanding of what an algorithm is will help you understand this course, but you don't need to know how to code! Some understanding of logic is helpful: if you understand Venn diagrams, you'll be fine.


Prerequisites

  • Computer Science Fundamentals
  • Logic