B-Trees
B-tree implementation in C++ to index documents based on numerical id's and title strings.
B-Trees Documentation

B-tree implementation in C++ to index documents based on numerical id's (main index) and title strings (secondary index) in a sample application. Created as a college assignment.

Source documentation

Building

Program

After cloning the repository, you can explore and build it with the CLion IDE.

Alternatively, use the following commands at the repository's root folder:

1 mkdir build
2 cd build
3 cmake ..
4 make

Documentation

If you want to generate the documentation yourself, use doxygen at the repository's root folder.

Input

The database that was used for testing and development can be downloaded here.

The program was built to accept a ;-separated CSV file with quote-enclosed values. Each line should have the following fields (type Alpha N meaning "a string with at most N alphanumeric characters"):

Field Type Description
ID Integer Identifier of the article
Title Alpha 300 Title of the article
Year Integer Publication year
Authors Alpha 1024 List of the authors
Citations Integer Times the article has been cited
Update Date time Time of the last time the article was updated (YYYY-MM-DD HH:mm:SS)
Snippet Alpha 1024 Text summary of the article's contents

Example line:

"1";"Title";"2017";"Alice|Bob|Carl";"42";"2017-01-30 23:59:59";"Snippet"

Fields can be left blank.

Usage

Usage of the program is based on following commands: