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)).componentsDeclaration
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> = []) -> FTS5TokenizerDescriptorParameters
separatorsUnless 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> = []) -> FTS5TokenizerDescriptorParameters
diacriticsBy default SQLite will strip diacritics from latin characters.
separatorsUnless empty (the default), SQLite will consider these characters as token separators.
tokenCharactersUnless empty (the default), SQLite will consider these characters as token characters.
View on GitHub
Install in Dash
FTS5TokenizerDescriptor Structure Reference