sqlite3 ngram tokenizer
1.0.0
Этот токенизатор работает за другим токенизатором, таким как 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 грамма с отдельной первой буквой: "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() может не работать, как и ожидалось за токенизатором Портера.