sqlite3 ngram tokenizer
1.0.0
Dieser Tokenizer arbeitet hinter einem anderen Tokenizer wie Unicode61 (Standard).
Beispiel:
const sqlite = require ( 'better-sqlite3' ) ;
const tokenizer = require ( 'sqlite3-ngram-tokenizer' ) ;
const db = sqlite ( ':memory:' ) ;
db . loadExtension ( tokenizer . pluginPath ) ; // pluginPath does not contain extension
db . exec ( `
CREATE VIRTUAL TABLE t1 USING fts5(x, tokenize = 'ngram');
` ) ; Es tokenisiert lateinische Wörter mit 2-Gramm mit separatem ersten Buchstaben: "letter" => [l le et tt te er] , so dass es mit "let" , aber nicht "etter" übereinstimmt.
Für nicht-latinische Wörter token sie mit 1-Gramm. Es wird wie String.includes() auf Nicht-Latin-Wörtern ausgeführt.
Sie können andere Tokenisierer mögen wie
-- porter tokenizer also works behind another tokenizer
CREATE VIRTUAL TABLE t1 USING fts5(x, tokenize = ' ngram porter unicode61 remove_diacritics 1 ' );BEACHTEN
highlight() funktioniert möglicherweise nicht wie erwartet hinter einem Porter -Tokenizer.