Skip to content

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 ​

SearchDocument[]

Returns ​

Promise<void>

Implementation of ​

SearchDriver.bulk


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 ​

SearchDriver.clear


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 ​

SearchDriver.clearTenant


index() ​

> index(indexName, document): Promise<void>

Defined in: search/src/memory.ts:22

Parameters ​

indexName ​

string

document ​

SearchDocument

Returns ​

Promise<void>

Implementation of ​

SearchDriver.index


register() ​

> register(index): Promise<void>

Defined in: search/src/memory.ts:17

Optional: called once per index at boot with its config.

Parameters ​

index ​

IndexDefinition

Returns ​

Promise<void>

Implementation of ​

SearchDriver.register


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 ​

SearchDriver.remove


> search(indexName, query): Promise<SearchResult>

Defined in: search/src/memory.ts:45

Parameters ​

indexName ​

string

query ​

SearchQuery

Returns ​

Promise<SearchResult>

Implementation of ​

SearchDriver.search

Released under the MIT License.