跳到主要内容

indexTextForFts()

function indexTextForFts(value): string;

Defined in: packages/rxdb-adapter-sqlite-core/src/fts5/cjk-bigram.ts:70

索引侧变换:把文本中的每段连续 CJK 替换为空格分隔的 unigram + bigram 序列。

Parameters​

ParameterTypeDescription
valuestring原始字段文本

Returns​

string

供 FTS5 索引的文本;非 CJK 部分原样保留

Remarks​

只改写进 FTS 索引的内容,不改源表。摘要仍由 search-engine 从源表原文截取, 因此用户看到的 snippet 不会出现 bigram 痕迹。

CJK 段与紧邻的拉丁/数字之间会补一个空格(SQLC-013):unicode61 不在脚本边界切词, rxdb搜索 不补空格就是一个 token,而查询侧 compileCjkToken 分段编译成 ("rxdb" OR "rxdb"*) AND "搜索",两个 token 在索引里都不存在 —— 零召回。 已经是空白的边界不重复补,因此 'rxdb 全文搜索 guide' 不会产生连续空格。

Example​

indexTextForFts('rxdb 全文搜索'); // 'rxdb 全文 文搜 搜索'
indexTextForFts('rxdb搜索'); // 'rxdb 搜索'