diff --git a/sqlite_utils/db.py b/sqlite_utils/db.py index 8b9f597..08dbb1d 100644 --- a/sqlite_utils/db.py +++ b/sqlite_utils/db.py @@ -211,15 +211,15 @@ class Table: self.db.conn.commit() return self - def enable_fts(self, columns): + def enable_fts(self, columns, fts_version="FTS5"): "Enables FTS on the specified columns" sql = """ - CREATE VIRTUAL TABLE "{table}_fts" USING FTS4 ( + CREATE VIRTUAL TABLE "{table}_fts" USING {fts_version} ( {columns}, content="{table}" ); """.format( - table=self.name, columns=", ".join(columns) + table=self.name, columns=", ".join(columns), fts_version=fts_version ) self.db.conn.executescript(sql) self.populate_fts(columns) diff --git a/tests/test_enable_fts.py b/tests/test_enable_fts.py index 8b823a2..4ef9a46 100644 --- a/tests/test_enable_fts.py +++ b/tests/test_enable_fts.py @@ -15,10 +15,10 @@ def test_enable_fts(fresh_db): assert [ "searchable", "searchable_fts", - "searchable_fts_segments", - "searchable_fts_segdir", + "searchable_fts_data", + "searchable_fts_idx", "searchable_fts_docsize", - "searchable_fts_stat", + "searchable_fts_config", ] == fresh_db.table_names assert [("tanuki are tricksters", "Japan", "foo")] == table.search("tanuki") assert [("racoons are trash pandas", "USA", "bar")] == table.search("usa")