sqlite3 ngram tokenizer
1.0.0
Tokenizer ini berfungsi di belakang tokenizer lain seperti Unicode61 (default).
Contoh:
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');
` ) ; Ini tokenizes kata-kata Latin dengan 2-gram dengan huruf pertama yang terpisah: "letter" => [l le et tt te er] , jadi itu akan cocok dengan "let" tetapi tidak "etter" .
Untuk kata-kata non-Latin, itu membujuk mereka dengan 1-gram. Ini melakukan seperti String.includes() pada kata-kata non-Latin.
Anda dapat menentukan tokenizer lain seperti
-- porter tokenizer also works behind another tokenizer
CREATE VIRTUAL TABLE t1 USING fts5(x, tokenize = ' ngram porter unicode61 remove_diacritics 1 ' );MELIHAT
highlight() mungkin tidak berfungsi seperti yang diharapkan di balik tokenizer Porter.