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
retrieve(filters=None, options=None, **kwargs)
async
Retrieve records with filter/option validation and automatic decryption.
Validates filters and options against query_features before delegating
to _retrieve, so unsupported operators or options raise ValueError early
rather than failing inside the backend.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
filters
|
FilterClause | QueryFilter | None
|
Metadata filters. Defaults to None. |
None
|
options
|
QueryOptions | None
|
Query options (limit, order_by, etc.). Defaults to None. |
None
|
**kwargs
|
Any
|
Passed to subclass |
{}
|
Returns:
| Type | Description |
|---|---|
list[Chunk]
|
list[Chunk]: Decrypted chunks from the datastore. |
retrieve_fuzzy(query, max_distance=2, filters=None, options=None, **kwargs)
async
Find records that fuzzy match the query, with validation and automatic decryption.
Validates filters and options against query_features before delegating
to _retrieve_fuzzy, so unsupported operators or options raise ValueError early.
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. |