basalt / search/src / MemorySearchDriver
Class: MemorySearchDriver
Defined in: search/src/memory.ts:13
In-process full-text driver for dev and tests — no external engine. Scores by term frequency with prefix matching, requires every query term to match (AND semantics), scopes results to the query's tenant, and supports exact-match filters. Good enough for development; swap in MeilisearchDriver for production-scale relevance.
Implements
Constructors
Constructor
> new MemorySearchDriver(): MemorySearchDriver
Returns
MemorySearchDriver
Methods
bulk()
> bulk(indexName, documents): Promise<void>
Defined in: search/src/memory.ts:26
Parameters
indexName
string
documents
Returns
Promise<void>
Implementation of
clear()
> clear(indexName): Promise<void>
Defined in: search/src/memory.ts:34
Drops every document in the index — every tenant's. Used by a whole-index reindex({ all: true }) and by tests.
Parameters
indexName
string
Returns
Promise<void>
Implementation of
clearTenant()
> clearTenant(indexName, tenantId): Promise<void>
Defined in: search/src/memory.ts:38
Drops every document of ONE tenant in the index and leaves every other tenant's documents untouched. Used by a tenant-scoped reindex().
Optional so a custom driver written against the older contract still compiles — but Search refuses a scoped rebuild on a driver without it (SearchDriverCapabilityError) instead of falling back to clear, which would wipe every other tenant. Implementations must delete by the stored tenantId (delete-by-query / WHERE tenant_id = …), never by listing ids through search, which is paged and can miss rows.
Parameters
indexName
string
tenantId
string
Returns
Promise<void>
Implementation of
index()
> index(indexName, document): Promise<void>
Defined in: search/src/memory.ts:22
Parameters
indexName
string
document
Returns
Promise<void>
Implementation of
register()
> register(index): Promise<void>
Defined in: search/src/memory.ts:17
Optional: called once per index at boot with its config.
Parameters
index
Returns
Promise<void>
Implementation of
remove()
> remove(indexName, tenantId, id): Promise<void>
Defined in: search/src/memory.ts:30
Parameters
indexName
string
tenantId
string
id
string
Returns
Promise<void>
Implementation of
search()
> search(indexName, query): Promise<SearchResult>
Defined in: search/src/memory.ts:45
Parameters
indexName
string
query
Returns
Promise<SearchResult>