Почему sqlite fts5 Unicode61 Tokenizer не поддерживает CJK(китайский японский корейский)?

Я думал, что Unicode61 Tokenizer может поддерживать CJK - китайский японский корейский Я подтверждаю, что мой sqlite поддерживает fts5

sqlite> pragma compile_options;
BUG_COMPATIBLE_20160819
COMPILER=clang-9.0.0
DEFAULT_CACHE_SIZE=2000
DEFAULT_CKPTFULLFSYNC
DEFAULT_JOURNAL_SIZE_LIMIT=32768
DEFAULT_PAGE_SIZE=4096
DEFAULT_SYNCHRONOUS=2
DEFAULT_WAL_SYNCHRONOUS=1
ENABLE_API_ARMOR
ENABLE_COLUMN_METADATA
ENABLE_DBSTAT_VTAB
ENABLE_FTS3
ENABLE_FTS3_PARENTHESIS
ENABLE_FTS3_TOKENIZER
ENABLE_FTS4
ENABLE_FTS5

Но, к моему удивлению, он не может найти слова CJK вообще. Это почему?

sqlite> CREATE VIRTUAL TABLE ft5_test USING fts5(content, tokenize = 'porter unicode61 remove_diacritics 1');
sqlite> INSERT INTO ft5_test values('为什么不支持中文 fts5 does not seem to work for chinese');
sqlite> select * from ft5_test where ft5_test = '中文';
sqlite>
sqlite> select * from ft5_test where ft5_test = 'Chinese';
为什么不支持中文 fts5 does not seem to work for chinese

------------- Обновить ----------

Я трачу довольно много времени на создание версии icu. Я поделился своим опытом здесь /questions/4868294/sborka-sqlite-icu-s-pomoschyu-xcode/4868313#4868313

Из того, что я узнал, использование icu версии - единственный способ поддержки CJK, а fts5 не поддерживает icu tokenizer.

Я оставляю здесь свой вопрос на случай, если у других появятся новые идеи по поводу проблемы.

0 ответов

Другие вопросы по тегам