sqlite3 ngram tokenizer
1.0.0
يعمل Tokenizer هذا خلف Tokenizer آخر مثل Unicode61 (افتراضي).
مثال:
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');
` ) ; إنها تميز الكلمات اللاتينية بواسطة 2-Gram مع الحرف الأول المنفصل: "letter" => [l le et tt te er] ، لذلك سوف يتطابق مع "let" ولكن ليس "etter" .
بالنسبة للكلمات غير اللاتينية ، فإنه يميزها بواسطة 1 غرام. ينفذ مثل String.includes() على الكلمات غير اللاتينية.
يمكنك تحديد المميزات الأخرى مثل
-- porter tokenizer also works behind another tokenizer
CREATE VIRTUAL TABLE t1 USING fts5(x, tokenize = ' ngram porter unicode61 remove_diacritics 1 ' );يلاحظ
قد لا يعمل highlight() كما هو متوقع وراء رمز الحمال.