- It is a data structure that stores mapping from words to documents or set of documents i.e. directs you from word to document.
- Steps to build Inverted index are:
- Fetch the document and gather all the words.
- Check for each word, if it is present then add reference of document to index else create new entry in index for that word.
- Repeat above steps for all documents and sort the words.
- Indexing is slow as it first checks that word is present or not.
- Searching is very fast.
- Example of Inverted index:
Word Documents hello doc1 sky doc1, doc3 coffee doc2 hi doc2 greetings doc3
It does not store duplicate keywords in index.
- Real life examples of Inverted index:
- Index at the back of the book.
- Reverse lookup
- It is a data structure that stores mapping from documents to words i.e. directs you from document to word.
- Steps to build Forward index are:
- Fetch the document and gather all the keywords.
- Append all the keywords in the index entry for this document.
- Repeat above steps for all documents
- Indexing is quite fast as it only append keywords as it move forwards.
- Searching is quite difficult as it has to look at every contents of index just to retrieve all pages related to word.
- Example of forward index:
Document Keywords doc1 hello, sky, morning doc2 tea, coffee, hi doc3 greetings, sky
It stores duplicate keywords in index. Eg: word “sky” is stored multiple times.
- Real life examples of Forward index:
- Table of contents in book.
- DNS lookup
Similarity between Forward index and Inverted Index:
- Both are used to search text in document or set of documents.
Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.
- Inverted Index
- How to Implement Forward DNS Look Up Cache?
- Difference between Clustered and Non-clustered index
- Check if it is possible to reach to the index with value K when start index is given
- Difference between Yaacomo and and XAP
- Queries to update a given index and find gcd in range
- Count smaller elements on right side and greater elements on left side using Binary Index Tree
- CREATE and DROP INDEX Statement in SQL
- Maximum difference between first and last indexes of an element in array
- Difference between highest and least frequencies in an array
- Difference between Virtuoso and VoltDB
- Difference between Static and Dynamic SQL
- Difference between Simple and Complex View in SQL
- Difference between AlaSQL and Amazon Neptune
- Difference between OLAP and OLTP in DBMS
- SQL | Difference between functions and stored procedures in PL/SQL
- Difference between Row oriented and Column oriented data stores in DBMS
- Difference between Weaviate and WakandaDB
- Difference between Where and Group By
- Difference between SQL and NoSQL
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.