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
| Parameter | Type |
|---|---|
query | string |
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
| Parameter | Type |
|---|---|
onChange | () => void |
Returns
() => void