An index is a list of data, such as group of files or database entries. It is typically saved in a plain text format that can be quickly scanned by a search algorithm. This significantly speeds up searching and sorting operations on data referenced by the index. Indexes often include information about each item in the list, such as metadata or keywords, that allows the data to be searched via the index instead of reading through each file individually.
For example, a database program such as Microsoft Access may generate an index of entries in a table. When an SQL query is run on the database, the program can quickly scan the index file to see what entries match the search string. Search engines also use indexes to store a large list of Web pages. These indexes, such as those created by Google and Yahoo!, are necessary for quickly generating search results. If search engines had to scan through millions of pages each time a user submitted a search, it would take roughly forever. Fortunately, by using search indexes, Web searches can be performed in less than a second instead of several hours.
The term "index" can also be used as a verb, which not surprisingly means to create an index. It may also refer to adding a new item to an existing index. For example, Mac OS X 10.4 and later indexes the hard disk to create a searchable index for Apple's Spotlight search utility. Google's "Googlebot" crawls the Web on a regular basis, adding new Web pages to the Google index. While most database and hard disk indexes are updated on-the-fly, search engine indexes are only updated every few hours, days, or even weeks. This is why newly published Web pages may not show up in search engine results. While it may be a frustration for Web developers, it is a small price to pay for the convenience of super-fast Web searches.