Skip to content

Fulltext capability

Base class for fulltext capability implementations.

This module defines BaseFulltextCapability that centralizes encryption and batching. Subclasses implement internal CRUD methods that operate on (possibly encrypted) data.

BaseFulltextCapability(encryption=None, default_batch_size=None)

Bases: DataStoreCapability

Base class for fulltext capability implementations.

Handles encryption and batching transparently. Subclasses implement internal CRUD methods that operate on plaintext data (or receive already-encrypted data when encryption is enabled).

create(data, batch_size=None, **kwargs) async

Create records with automatic encryption and batching.

Parameters:

Name Type Description Default
data Chunk | list[Chunk]

Single chunk or list of chunks to create.

required
batch_size int | None

Override batch size for this call. Defaults to None.

None
**kwargs Any

Passed to subclass _create.

{}

retrieve_fuzzy(query, max_distance=2, filters=None, options=None, **kwargs) async

Find records that fuzzy match the query within distance threshold, with automatic decryption.

Parameters:

Name Type Description Default
query str

Text to fuzzy match against.

required
max_distance int

Maximum edit distance for matches (e.g. Levenshtein). Defaults to 2.

2
filters FilterClause | QueryFilter | None

Optional metadata filters. Defaults to None.

None
options QueryOptions | None

Query options (limit, etc.). Defaults to None.

None
**kwargs Any

Passed to subclass _retrieve_fuzzy.

{}

Returns:

Type Description
list[Chunk]

list[Chunk]: Matched chunks ordered by relevance/distance, decrypted when encryption is enabled.