Skip to content

basalt / search/src / SearchDriver

Interface: SearchDriver ​

Defined in: search/src/types.ts:70

Search backend contract. The core talks to this; drivers talk to the engine. Every operation is tenant-scoped: search must only ever return documents whose tenantId matches the query.

Methods ​

bulk() ​

> bulk(indexName, documents): Promise<void>

Defined in: search/src/types.ts:74

Parameters ​

indexName ​

string

documents ​

SearchDocument[]

Returns ​

Promise<void>


clear() ​

> clear(indexName): Promise<void>

Defined in: search/src/types.ts:81

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>


clearTenant()? ​

> optional clearTenant(indexName, tenantId): Promise<void>

Defined in: search/src/types.ts:93

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>


index() ​

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

Defined in: search/src/types.ts:73

Parameters ​

indexName ​

string

document ​

SearchDocument

Returns ​

Promise<void>


register()? ​

> optional register(index): Promise<void>

Defined in: search/src/types.ts:72

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

Parameters ​

index ​

IndexDefinition

Returns ​

Promise<void>


remove() ​

> remove(indexName, tenantId, id): Promise<void>

Defined in: search/src/types.ts:75

Parameters ​

indexName ​

string

tenantId ​

string

id ​

string

Returns ​

Promise<void>


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

Defined in: search/src/types.ts:76

Parameters ​

indexName ​

string

query ​

SearchQuery

Returns ​

Promise<SearchResult>

Released under the MIT License.