跳到主要内容

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​

ParameterTypeDescription
executorRuntimeSqlExecutor引导期 SQL 执行器
adapterstring当前 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​

ParameterTypeDescription
querystring原始输入

Returns​

CompiledQuery | null

编译结果;归一化后为空时返回 null(不视为错误)


createEngine()​

createEngine(executor): SearchEngine;

Defined in: packages/rxdb-plugin-search/src/backend/search-backend.ts:108

绑定查询执行器,产出与后端无关的 SearchEngine。

Parameters​

ParameterTypeDescription
executorFtsExecutor查询期 SQL 执行器

Returns​

SearchEngine


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​

ParameterTypeDescription
planFtsInstallPlan由实体元数据推导出的安装计划
executorRuntimeSqlExecutor引导期 SQL 执行器
migrationStoreMigrationRecordStore迁移记录读写

Returns​

Promise<InstallFtsResult>


installMigrationPrefix()​

installMigrationPrefix(tableName): string;

Defined in: packages/rxdb-plugin-search/src/backend/search-backend.ts:76

该后端在 rxdb_migration 表中使用的 install 记录前缀。

两套后端各占一个命名空间,避免同名记录被互相误读为「已安装」。

Parameters​

ParameterTypeDescription
tableNamestring物理表名

Returns​

string