Full-Text Search Module
SQLite includes a Full-Text Search (FTS) engine. The current version is known as FTS3. The FTS3 engine is designed to catalog and index large bodies of text. Once indexed, the FTS3 engine can quickly search for documents based off various types of keyword searches. Although the FTS3 source is now maintained by the SQLite team, parts of the engine were originally contributed by members of Google’s engineering team.
The FTS3 engine is a virtual table module. Virtual
tables are similar to views, in that they wrap a data source to make it look
and act like a normal table. Views get their data from a SELECT
statement, while virtual tables
depend on user-defined C functions. All of the functions required to
implement a virtual table are wrapped up in an extension known as a module.
For more information on how SQLite modules and virtual tables work, see
Chapter 10.
Full-Text Search is an important and evolving technology, and is one of the areas that is targeted for improvements and enhancements as this book goes to press. Although this section gives a brief overview of the core FTS3 features, if you find yourself considering the FTS3 module, I would encourage you to review the full documentation on the SQLite website.
The FTS3 engine is included in all standard
distributions of the SQLite source (including the amalgamation), but is
turned off by default. To enable basic FTS functionality, define
the
SQLITE_ENABLE_FTS3
compiler directive when building the SQLite library. ...
Get Using SQLite now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.