跳到主要内容

CreateSearchHandleOptions

Defined in: packages/rxdb-plugin-search/src/core/search-handle.ts:47

SearchHandle 工厂配置。

Properties​

debounceMs?​

readonly optional debounceMs?: number;

Defined in: packages/rxdb-plugin-search/src/core/search-handle.ts:55

防抖(ms),默认 300;0 → 直通


initialQuery?​

readonly optional initialQuery?: string;

Defined in: packages/rxdb-plugin-search/src/core/search-handle.ts:57

初始查询;触发一次立即 loading


isSearchableQuery?​

readonly optional isSearchableQuery?: (query) => boolean;

Defined in: packages/rxdb-plugin-search/src/core/search-handle.ts:51

在进入 loading 前判定查询是否含有可索引 token;false 直接回到 idle。

Parameters​

ParameterType
querystring

Returns​

boolean


performSearch​

readonly performSearch: PerformSearch;

Defined in: packages/rxdb-plugin-search/src/core/search-handle.ts:49

底层搜索执行


querySource?​

readonly optional querySource?: Observable<string>;

Defined in: packages/rxdb-plugin-search/src/core/search-handle.ts:53

外部查询词流;错误进入 SearchHandle.error$,完成后句柄仍可命令式使用。


refreshAuditMs?​

readonly optional refreshAuditMs?: number;

Defined in: packages/rxdb-plugin-search/src/core/search-handle.ts:72

数据变更重查的合并窗口(ms),默认 80;0 → 逐事件直通。

Remarks​

数据变更走的是绕过 debounceMs 的直通通道(这是刻意设计),但绕过防抖不等于不要节流: 一次重查会展开成 collections × fields 条并发 rawQuery,批量导入产生几百个实体事件时 就是数千条 SQL 灌进单线程的 sqlite-wasm worker。窗口内的多次变更合并成一次重查。


subscribeDataChanges?​

readonly optional subscribeDataChanges?: (onChange) => () => void;

Defined in: packages/rxdb-plugin-search/src/core/search-handle.ts:63

订阅数据源变更通知(entity 事件)。返回解绑函数。

实现侧应过滤只有插件覆盖范围内的 collection 才回调;本工厂不感知具体 collection。

Parameters​

ParameterType
onChange() => void

Returns​

() => void