This is a full-text search system for a database of books. The project consists of the following components:
- A library or several libraries in C++, in which the indexing, search and ranking of documents is implemented.
- Console utilities for using the library (C++).
- C wrapper for cross-language use of the library.
- A search client written in the high-level Python programming language using the ctypes library.
- All functionality must be covered by unit tests.
$ bash ./run.sh
After running the bash script the project is configured and built, and then indexes the books from the csv file with them and starts the search engine. It's also worth noting the search can be run separately with the following command:
$ python3 pythonscripts/main.py
The full-text search system is quite primitive, but still has a little positive functionality:
- The output is rebuilt when a query is refined.
- The search is capable of handling queries with typos.
- To exit write
q.
as a query. ٩(◕‿◕。)۶