- 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.
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Inverted Index
- Check if it is possible to reach to the index with value K when start index is given
- Difference between Clustered and Non-clustered index
- Neo4j Create Index
- Neo4j Drop Index
- GCDs of given index ranges in an array
- Queries to update a given index and find gcd in range
- Minimum Index Sum for Common Elements of Two Lists
- Index of kth set bit in a binary array with update queries
- Count of index pairs with equal elements in an array
- Index Mapping (or Trivial Hashing) with negatives allowed
- Most frequent element in Array after replacing given index by K for Q queries
- Queries for elements greater than K in the given index range using Segment Tree
- Queries for elements having values within the range A to B in the given index range using Segment Tree
- Find the character in first string that is present at minimum index in second string
- Count smaller elements on right side and greater elements on left side using Binary Index Tree
- How to Implement Forward DNS Look Up Cache?
- Difference between ELT and ETL
- Difference between DML and TCL
- Difference between IBM DB2 and MS SQL
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to email@example.com. 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.