Full Text for SQLite3 is a software indexing tool for SQLite3 databases that allows for full text searches within the stored data.
When dealing with words, it is important to note that matching is done with unfolded letters. This means that the word 'New' will match with the word 'new', as this is a standard design that works well for English. However, users have the option to choose another method if desired. The name of a city like 'New-York' has been split in two, but this can also be adjusted according to the user's preference. In languages that use diacritics, it is necessary to decide on how the matching will be done. For example, in French, the word 'cuvre' with the ligature oe might match with 'oeuvre'. In German, a 'ß' can match with 'ss'. Full Text for SQLite3 offers an API for defined matching, which is also dependent on the underlying encoding. Currently, only UTF-8 is supported, as it is the default encoding used within sqlite3.
Stemmed words are also helpful in the search process, as they provide a match for singular or plural words or conjugated forms. It is expected that the stemmed form of a word will be the same for a noun plural or singular and that most forms of a verb will give the same stem. The algorithm used to compute the stem is language dependent. In English, the well known Porter algorithm is used, although variants are used in other Indo-European languages. The language support is located in the contrib/stemmed directory. For instance, in English, 'cars' and 'car' will match one another. Similarly, in French, 'saisons' and 'saison' will have matching stems. However, the algorithm may not be perfect, especially for languages with many exceptions like French.
In some cases, it is useful to have words that are related in one way or another. Similar words can be those with the same phonetic sound, such as 'schwartzenegger' or 'jonasz'. This function can be especially helpful in certain situations.
What's new in this release is that version 0.2.1 previously shipped without an include file (sqlite3xx.hpp), but it has since been re-added.
Version 0.2.2: N/A