SearchBackend
Defined in: packages/rxdb-plugin-search/src/backend/search-backend.ts:52
一种全文搜索后端的完整实现。
Properties
capabilities
readonly capabilities: SearchBackendCapabilities;
Defined in: packages/rxdb-plugin-search/src/backend/search-backend.ts:56
后端声明的能力
id
readonly id: SearchBackendId;
Defined in: packages/rxdb-plugin-search/src/backend/search-backend.ts:54
后端标识
Methods
assertCapabilities()
assertCapabilities(executor, adapter): Promise<void>;
Defined in: packages/rxdb-plugin-search/src/backend/search-backend.ts:88
对着活连接实测后端所需的存储能力,缺失即抛。
这是两层守卫的第二层:第一层(注册表)只能判断 adapter 属于哪个引擎家族,
判断不了这个具体构建有没有编进 FTS5、有没有注册 rxdb_fts_bigram 这类自定义函数。
Parameters
| Parameter | Type | Description |
|---|---|---|
executor | RuntimeSqlExecutor | 引导期 SQL 执行器 |
adapter | string | 当前 adapter 名(仅用于错误归因) |
Returns
Promise<void>
Throws
能力缺失时,带可判别的原因
compile()
compile(query): CompiledQuery | null;
Defined in: packages/rxdb-plugin-search/src/backend/search-backend.ts:67
把用户输入编译为该后端的匹配表达式。
在构造期就必须可用:isSearchableQuery 与结果池缓存键都依赖它,
二者都早于 install() 完成即可被调用。
Parameters
| Parameter | Type | Description |
|---|---|---|
query | string | 原始输入 |
Returns
CompiledQuery | null
编译结果;归一化后为空时返回 null(不视为错误)
createEngine()
createEngine(executor): SearchEngine;
Defined in: packages/rxdb-plugin-search/src/backend/search-backend.ts:108
绑定查询执行器,产出与后端无关的 SearchEngine。
Parameters
| Parameter | Type | Description |
|---|---|---|
executor | FtsExecutor | 查询期 SQL 执行器 |
Returns
install()
install(
plan,
executor,
migrationStore
): Promise<InstallFtsResult>;
Defined in: packages/rxdb-plugin-search/src/backend/search-backend.ts:97
安装单个实体的全文索引;幂等,且中断后可判定(US-703 AC#4 / AC#7)。
Parameters
| Parameter | Type | Description |
|---|---|---|
plan | FtsInstallPlan | 由实体元数据推导出的安装计划 |
executor | RuntimeSqlExecutor | 引导期 SQL 执行器 |
migrationStore | MigrationRecordStore | 迁移记录读写 |
Returns
Promise<InstallFtsResult>
installMigrationPrefix()
installMigrationPrefix(tableName): string;
Defined in: packages/rxdb-plugin-search/src/backend/search-backend.ts:76
该后端在 rxdb_migration 表中使用的 install 记录前缀。
两套后端各占一个命名空间,避免同名记录被互相误读为「已安装」。
Parameters
| Parameter | Type | Description |
|---|---|---|
tableName | string | 物理表名 |
Returns
string