Search¶
Full-text search infrastructure.
Module Contents¶
Search functionality using Meilisearch.
- class IndexedDocument[source]¶
Bases:
BaseModelBase schema for indexed documents in Meilisearch.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- id: str¶
- title: str¶
- description: str | None¶
- content: str | None¶
- url: str¶
- content_type: str¶
- created: datetime | None¶
- modified: datetime | None¶
- status: str | None¶
- tags: list[str]¶
- searchable_text: str | None¶
- class SearchQuery[source]¶
Bases:
BaseModelSearch query parameters.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- query: str¶
- indexes: list[str] | None¶
- filters: dict[str, Any] | None¶
- limit: int¶
- offset: int¶
- attributes_to_retrieve: list[str] | None¶
- attributes_to_highlight: list[str] | None¶
- class SearchResult[source]¶
Bases:
BaseModelSearch results response.
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- hits: list[SearchHit]¶
- total: int¶
- offset: int¶
- limit: int¶
- processing_time_ms: int¶
- query: str¶
- class SearchService[source]¶
Bases:
objectService for interacting with Meilisearch.
- async clear_index(index)[source]¶
Clear all documents from an index.
- Parameters:
index (
str) – Base index name.- Return type:
TaskInfo- Returns:
Task information for the clear operation.
- property client: meilisearch_python_sdk.AsyncClient¶
Get or create the Meilisearch async client.
- async configure_index(index, searchable_attributes=None, filterable_attributes=None, sortable_attributes=None, ranking_rules=None)[source]¶
Configure index settings.
- Parameters:
- Return type:
- async delete_index(index)[source]¶
Delete a search index.
- Parameters:
index (
str) – Base index name.- Return type:
TaskInfo- Returns:
Task information for the index deletion.
- async index_documents(index, documents, primary_key='id')[source]¶
Index documents into Meilisearch.
- async is_available()[source]¶
Check if Meilisearch service is available.
- Return type:
- Returns:
True if Meilisearch is reachable, False otherwise.
- async search(query)[source]¶
Search across specified indexes.
- Parameters:
query (
SearchQuery) – Search query parameters.- Return type:
- Returns:
Aggregated search results.
Schemas¶
Search request and response schemas.
Search schemas for Meilisearch integration.
- class SearchQuery[source]¶
Bases:
BaseModelSearch query parameters.
- query: str¶
- indexes: list[str] | None¶
- filters: dict[str, Any] | None¶
- limit: int¶
- offset: int¶
- attributes_to_retrieve: list[str] | None¶
- attributes_to_highlight: list[str] | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class SearchHit[source]¶
Bases:
BaseModelA single search result hit.
- id: str¶
- index: str¶
- title: str¶
- description: str | None¶
- url: str¶
- content_type: str¶
- created: datetime | None¶
- modified: datetime | None¶
- highlight: dict[str, list[str]] | None¶
- extra: dict[str, Any] | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class SearchResult[source]¶
Bases:
BaseModelSearch results response.
- hits: list[SearchHit]¶
- total: int¶
- offset: int¶
- limit: int¶
- processing_time_ms: int¶
- query: str¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class IndexedDocument[source]¶
Bases:
BaseModelBase schema for indexed documents in Meilisearch.
- id: str¶
- title: str¶
- description: str | None¶
- content: str | None¶
- url: str¶
- content_type: str¶
- created: datetime | None¶
- modified: datetime | None¶
- status: str | None¶
- tags: list[str]¶
- searchable_text: str | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class JobDocument[source]¶
Bases:
IndexedDocumentJob posting document for search indexing.
- content_type: str¶
- company_name: str¶
- location: str | None¶
- remote: bool¶
- job_types: list[str]¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class EventDocument[source]¶
Bases:
IndexedDocumentEvent document for search indexing.
- content_type: str¶
- venue: str | None¶
- location: str | None¶
- start_date: datetime | None¶
- end_date: datetime | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
- class BlogDocument[source]¶
Bases:
IndexedDocumentBlog entry document for search indexing.
- content_type: str¶
- author: str | None¶
- published: datetime | None¶
- model_config: ClassVar[ConfigDict] = {}¶
Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].
Service¶
Search service implementation.
Meilisearch service for search functionality.
- class SearchService[source]¶
Bases:
objectService for interacting with Meilisearch.
- property client: meilisearch_python_sdk.AsyncClient¶
Get or create the Meilisearch async client.
- async delete_index(index)[source]¶
Delete a search index.
- Parameters:
index (
str) – Base index name.- Return type:
TaskInfo- Returns:
Task information for the index deletion.
- async configure_index(index, searchable_attributes=None, filterable_attributes=None, sortable_attributes=None, ranking_rules=None)[source]¶
Configure index settings.
- Parameters:
- Return type:
- async index_documents(index, documents, primary_key='id')[source]¶
Index documents into Meilisearch.
- async update_documents(index, documents, primary_key='id')[source]¶
Update existing documents in Meilisearch.
- async clear_index(index)[source]¶
Clear all documents from an index.
- Parameters:
index (
str) – Base index name.- Return type:
TaskInfo- Returns:
Task information for the clear operation.
- async is_available()[source]¶
Check if Meilisearch service is available.
- Return type:
- Returns:
True if Meilisearch is reachable, False otherwise.
- async search(query)[source]¶
Search across specified indexes.
- Parameters:
query (
SearchQuery) – Search query parameters.- Return type:
- Returns:
Aggregated search results.