FTS3
FTS3 lets you define “fts3” virtual tables.
// CREATE VIRTUAL TABLE document USING fts3(content)
try db.create(virtualTable: "document", using: FTS3()) { t in
t.column("content")
}
-
Options for Latin script characters. Matches the raw “remove_diacritics” tokenizer argument.
See https://www.sqlite.org/fts3.html
See more -
Creates a FTS3 module suitable for the Database
create(virtualTable:using:)
method.// CREATE VIRTUAL TABLE document USING fts3(content) try db.create(virtualTable: "document", using: FTS3()) { t in t.column("content") }
-
Returns an array of tokens found in the string argument.
For example:
try FTS3.tokenize("SQLite database") // ["sqlite", "database"] try FTS3.tokenize("Gustave Doré") // ["gustave", "doré"])
Results can be altered with an explicit tokenizer - default is
.simple
. See https://www.sqlite.org/fts3.html#tokenizer.try FTS3.tokenize("SQLite database", withTokenizer: .porter) // ["sqlite", "databas"] try FTS3.tokenize("Gustave Doré", withTokenizer: .unicode61()) // ["gustave", "dore"])
Tokenization is performed by the
fts3tokenize
virtual table described at https://www.sqlite.org/fts3.html#querying_tokenizers.
-
The virtual table module name
-
Reserved; part of the VirtualTableModule protocol.
See Database.create(virtualTable:using:)
-
Reserved; part of the VirtualTableModule protocol.
See Database.create(virtualTable:using:)
-
Reserved; part of the VirtualTableModule protocol.
See Database.create(virtualTable:using:)