Skip to content

basalt / search/src / MeilisearchDriver

Class: MeilisearchDriver ​

Defined in: search/src/drivers/meilisearch.ts:63

Meilisearch driver targeting the REST API directly (no SDK). Documents get a compound _pk so ids never collide across tenants, and every search is constrained with a tenantId filter so results never leak between tenants.

Implements ​

Constructors ​

Constructor ​

> new MeilisearchDriver(options): MeilisearchDriver

Defined in: search/src/drivers/meilisearch.ts:66

Parameters ​

options ​

MeilisearchDriverOptions

Returns ​

MeilisearchDriver

Methods ​

bulk() ​

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

Defined in: search/src/drivers/meilisearch.ts:88

Parameters ​

indexName ​

string

documents ​

SearchDocument[]

Returns ​

Promise<void>

Implementation of ​

SearchDriver.bulk


clear() ​

> clear(indexName): Promise<void>

Defined in: search/src/drivers/meilisearch.ts:99

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/drivers/meilisearch.ts:112

Delete-by-filter (POST /indexes/{uid}/documents/delete, Meilisearch ≥ 1.2) on the tenantId attribute register declares filterable — the same predicate every search is scoped by, so the rows removed are exactly the rows that tenant could find. Like every write it is an enqueued task; Meilisearch runs one index's tasks in order, so the rebuild's writes that follow land after the deletion.

Parameters ​

indexName ​

string

tenantId ​

string

Returns ​

Promise<void>

Implementation of ​

SearchDriver.clearTenant


index() ​

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

Defined in: search/src/drivers/meilisearch.ts:84

Parameters ​

indexName ​

string

document ​

SearchDocument

Returns ​

Promise<void>

Implementation of ​

SearchDriver.index


register() ​

> register(index): Promise<void>

Defined in: search/src/drivers/meilisearch.ts:70

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/drivers/meilisearch.ts:94

Parameters ​

indexName ​

string

tenantId ​

string

id ​

string

Returns ​

Promise<void>

Implementation of ​

SearchDriver.remove


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

Defined in: search/src/drivers/meilisearch.ts:117

Parameters ​

indexName ​

string

query ​

SearchQuery

Returns ​

Promise<SearchResult>

Implementation of ​

SearchDriver.search

Released under the MIT License.