This project is a simple implementation of a search engine in Rust. It uses the BM25 algorithm for ranking documents. This project is a learning exercise and is not intended for production use.
- [] Store index to Disk
- [] Save multiple indecies
- Indexing documents: The search engine maintains an index of documents, where each document is associated with a unique identifier.
- Searching: Given a query, the search engine returns the most relevant documents.
You can create a new instance of the SearchEngine with the new function. It takes two parameters:
k1
: The k1 parameter of the BM25 algorithm.b
: The b parameter of the BM25 algorithm.
The main components of the project are:
SearchEngine
: This is the main class that provides the functionality of the search engine.index
: A HashMap that stores the index of the documents.documents
: A HashMap that stores the documents with their unique identifiers.
Contributions are welcome. Please submit a pull request.
This project is licensed under the MIT License.