I'll just throw in some general information - without participating in the contest.
So, it turns out that the default library already includes
FTS5, I checked on Windows 10 - the library downloaded from the official site, and on Debian 12 - installed using
apt.
However, if you need to recompile the library with non-standard switches, it is not that complicated:
- on Windows:
* download MinGW:
https://winlibs.com/#download-release (I downloaded
UCRT runtime).
* unzip
* add an entry to the environment variables with the path to the
bin directory.
* download the sqlite source code
sqlite-amalgamation-*.zip from the official sqlite website and unzip.
* at the command line you navigate to the directory with the unzipped sqlite source files.
* run the compilation:
gcc -O3 -shared -DSQLITE_ENABLE_FTS5 sqlite3.c -o sqlite3.dll
.
- on Linux
* download the sqlite source code
sqlite-amalgamation-*.zip from the official sqlite website and unzip.
* in terminal navigate to the directory with the unzipped sqlite source files.
* run the compilation:
gcc -O3 -shared -fPIC -DSQLITE_ENABLE_FTS5 sqlite3.c -o sqlite3.so
.
As for the application itself, instructions on how to use full text search are readily available on the Internet. Attached is a simple application I created for testing purposes. It uses ZEOS compoenents (in SQLdb I encountered a problem - with long texts it does not return the entire content), and HtmlViewer to display the results.
I used
pubmed data downloaded from the
NCBI website - you can download the data needed to run the application from:
https://files.brudnopis.ovh/file/SxhNwkLSx3zIlj6Y/MS2idYGARCKNFjP5/pubmed.7zEdit: change library extension for linux