FTS5TokenizerDescriptor
public struct FTS5TokenizerDescriptor
An FTS5 tokenizer, suitable for FTS5 table definitions:
db.create(virtualTable: "book", using: FTS5()) { t in
t.tokenizer = .unicode61() // FTS5TokenizerDescriptor
}
-
The tokenizer components
// ["unicode61"] FTS5TokenizerDescriptor.unicode61().components // ["unicode61", "remove_diacritics", "0"] FTS5TokenizerDescriptor.unicode61(removeDiacritics: false)).components
Declaration
Swift
public let components: [String]
-
Creates an FTS5 tokenizer descriptor.
db.create(virtualTable: "book", using: FTS5()) { t in let tokenizer = FTS5TokenizerDescriptor(components: ["porter", "unicode61", "remove_diacritics", "0"]) t.tokenizer = tokenizer }
Precondition
Components is not emptyDeclaration
Swift
public init(components: [String])
-
The “ascii” tokenizer
db.create(virtualTable: "book", using: FTS5()) { t in t.tokenizer = .ascii() }
Declaration
Swift
public static func ascii(separators: Set<Character> = []) -> FTS5TokenizerDescriptor
Parameters
separators
Unless empty (the default), SQLite will consider these characters as token separators.
-
Declaration
Swift
public static func porter(wrapping base: FTS5TokenizerDescriptor? = nil) -> FTS5TokenizerDescriptor
-
An “unicode61” tokenizer
db.create(virtualTable: "book", using: FTS5()) { t in t.tokenizer = .unicode61() }
Declaration
Swift
public static func unicode61( diacritics: FTS5.Diacritics = .removeLegacy, separators: Set<Character> = [], tokenCharacters: Set<Character> = []) -> FTS5TokenizerDescriptor
Parameters
diacritics
By default SQLite will strip diacritics from latin characters.
separators
Unless empty (the default), SQLite will consider these characters as token separators.
tokenCharacters
Unless empty (the default), SQLite will consider these characters as token characters.