sqlite3 ngram tokenizer
1.0.0
Este tokenizer funciona detrás de otro tokenizer como Unicode61 (predeterminado).
Ejemplo:
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');
` ) ; Tokeniza las palabras latinas por 2 gramos con la primera letra separada: "letter" => [l le et tt te er] , por lo que coincidirá con "let" pero no "etter" .
Para palabras no latinas, las toca por 1 gramo. Realiza como String.includes() en palabras no latinas.
Puede especificar otros tokenizadores como
-- porter tokenizer also works behind another tokenizer
CREATE VIRTUAL TABLE t1 USING fts5(x, tokenize = ' ngram porter unicode61 remove_diacritics 1 ' );AVISO
highlight() puede no funcionar como se esperaba detrás de un tokenizador Porter.