Go Full Text Search Engine
This project is a Full-Text Search Engine implemented in Go using the inverted index method. It allows users to efficiently search through a collection of documents by indexing the words in the documents and then quickly finding the documents that contain a particular word or set of words.
- Inverted Index: Utilizes the inverted index data structure to efficiently map words to the documents they appear in.
- Query Processing: Supports querying for single words, phrases, and boolean expressions.
- Scalable: Designed to handle large collections of documents efficiently.
- Concurrency: Utilizes Go's concurrency features to handle multiple search queries simultaneously.
- Easy to Use: Provides a simple interface for indexing documents and performing searches.
To install the Full-Text Search Engine, you need to have Go installed on your system. Once you have Go installed, you can clone the repository and build the project using the following commands:
git clone <repository_url>
cd Full-Text-Search-Engine
go run main.go
- Indexing Documents: Before performing searches, you need to index the documents.
- Searching: Once the documents are indexed. You can perform Searching.
- Tokenisation - Converting the Search String in Tokens
- Filtering - StopwordFilter , StemmerFilter
- Stemmer - We used Porter Stemmer Algo. - READ
- Inverted Index - Created a inverted index map.
- Search - Inverted Index will be Search in Index Token with Intersection.