Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/deploy/configuration/backups.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ Weaviate's Backup feature is designed to work natively with cloud technology. Mo
:::caution Important backup considerations

- **Version Requirements**: If you are running Weaviate `v1.23.12` or older, you must [update](/deploy/migration/index.md) to `v1.23.13` or higher before restoring a backup to prevent data corruption.
- **[Multi-tenancy](/weaviate/concepts/data.md#multi-tenancy) limitations**: Starting in `v1.37`, backups include both `active` (HOT) and `inactive` (COLD) tenants. Inactive tenants are backed up directly from disk without activation. `Offloaded` (FROZEN) tenants are still skipped since they have no local data. In versions prior to `v1.37`, only active tenants are included, so be sure to [activate](/weaviate/manage-collections/multi-tenancy.mdx#manage-tenant-states) any required tenants before creating a backup.
- **[Multi-tenancy](/weaviate/concepts/data.md#multi-tenancy) limitations**: Backups include both `active` (HOT) and `inactive` (COLD) tenants. Inactive tenants are backed up directly from disk without activation. `Offloaded` (FROZEN) tenants are still skipped since they have no local data. Inactive tenant support was added in `v1.37.0`, and backported to `v1.35.17` and `v1.36.10`. In earlier releases only active tenants are included, so be sure to [activate](/weaviate/manage-collections/multi-tenancy.mdx#manage-tenant-states) any required tenants before creating a backup.
:::

## Backup Quickstart
Expand Down
4 changes: 3 additions & 1 deletion docs/weaviate/client-libraries/python/async.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@ For asynchronous operations, use the `WeaviateAsyncClient` async client, availab

The `WeaviateAsyncClient` async client largely supports the same functions and methods as the `WeaviateClient` [synchronous client](./index.mdx), with the key difference that the async client is designed to be used in an `async` function running in an [`asyncio` event loop](https://docs.python.org/3/library/asyncio-eventloop.html#asyncio-event-loop).

<!-- TODO[g-despot] Uncomment when available
<!-- TODO[g-despot] Uncomment when available. Also re-add the "async-python-client-usage"
entry to src/components/AcademyAdmonition/courses.json. It was removed because
https://academy.weaviate.io/courses/wa280-py does not exist yet (404).
import AcademyAdmonition from '@site/src/components/AcademyAdmonition';

<AcademyAdmonition
Expand Down
8 changes: 6 additions & 2 deletions docs/weaviate/concepts/data.md
Original file line number Diff line number Diff line change
Expand Up @@ -459,8 +459,12 @@ When a tenant is offloaded, the entire tenant shard is moved to cloud storage. T

### Backups

:::caution Backups do not include inactive or offloaded tenants
Backups of multi-tenant collections will only include `active` tenants, and not `inactive` or `offloaded` tenants. [Activate tenants](../manage-collections/multi-tenancy.mdx#manage-tenant-states) before creating a backup to ensure all data is included.
:::caution Backups do not include offloaded tenants
Backups of multi-tenant collections include both `active` and `inactive` tenants. Inactive tenants are read directly from disk, so you do not need to activate them before creating a backup.

`Offloaded` tenants are not included, because their data is not held on local disk. The tenant status is preserved, but the tenant's data is not part of the backup. [Activate offloaded tenants](../manage-collections/multi-tenancy.mdx#manage-tenant-states) before creating a backup to include their data.

Support for backing up `inactive` tenants was added in `v1.37.0`, and backported to `v1.35.17` and `v1.36.10`. In earlier releases, backups include only `active` tenants.
:::

### Tenancy and IDs
Expand Down
8 changes: 6 additions & 2 deletions docs/weaviate/manage-collections/multi-tenancy.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -618,8 +618,12 @@ Multi-tenancy collections require the tenant name (e.g. `tenantA`) when creating

## Backups

:::caution Backups do not include inactive or offloaded tenants
Backups of [multi-tenant collections](../concepts/data.md#multi-tenancy) will only include `active` tenants, and not `inactive` or `offloaded` tenants. [Activate tenants](#manage-tenant-states) before creating a backup to ensure all data is included.
:::caution Backups do not include offloaded tenants
Backups of [multi-tenant collections](../concepts/data.md#multi-tenancy) include both `active` and `inactive` tenants. Inactive tenants are read directly from disk, so you do not need to activate them before creating a backup.

`Offloaded` tenants are not included, because their data is not held on local disk. The tenant status is preserved, but the tenant's data is not part of the backup. [Activate offloaded tenants](#manage-tenant-states) before creating a backup to include their data.

Support for backing up `inactive` tenants was added in `v1.37.0`, and backported to `v1.35.17` and `v1.36.10`. In earlier releases, backups include only `active` tenants.
:::

## Related pages
Expand Down
13 changes: 13 additions & 0 deletions netlify.toml
Original file line number Diff line number Diff line change
Expand Up @@ -897,6 +897,19 @@ from = "/academy/py/standalone/which_search"
to = "/weaviate/search"
status = 301

# Specific course routes must stay ABOVE the /academy/py/* catch-all: Netlify
# applies the first matching rule, so anything placed below it is unreachable.

[[redirects]]
from = "/academy/py/standalone/chunking/*"
to = "https://academy.weaviate.io/courses/wa921-py"
status = 301

[[redirects]]
from = "/academy/py/starter_multimodal_data/*"
to = "https://academy.weaviate.io/courses/wa910-py"
status = 301

[[redirects]]
from = "/academy/py/*"
to = "https://academy.weaviate.io/courses/wa101t-py"
Expand Down
30 changes: 24 additions & 6 deletions src/components/AcademyAdmonition/courses.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
[
{
"id": "quick-tour-of-weaviate",
"title": "A Quick Tour of Weaviate",
"title": "Key Concepts & Architecture",
"description": "Become familiar with Weaviate's architecture, core concepts, and key capabilities. Understand how its features and integrations map to AI builders' needs.",
"url": "https://academy.weaviate.io/courses/wa050-py"
},
Expand Down Expand Up @@ -29,16 +29,34 @@
"description": "Learn what the most important architectural decisions are when building applications with Weaviate, and how to make the right choices for your use case.",
"url": "https://academy.weaviate.io/courses/wa210-py"
},
{
"id": "search-strategies-in-depth",
"title": "Search Strategies: In Depth",
"description": "Gain deep, practical knowledge of search strategies in Weaviate. Dive deeper into different search types, tokenization and its impact, and search optimization techniques.",
"url": "https://academy.weaviate.io/courses/wa220-py"
},
{
"id": "data-ingestion-in-depth",
"title": "Data Ingestion: In Depth",
"description": "How you prepare and ingest data has big impact on the quality of your search and downstream applications. Learn about the key options and decisions to make, and some best practices.",
"url": "https://academy.weaviate.io/courses/wa230-py"
},
{
"id": "embedding-model-evaluation",
"title": "Embedding Model Evaluation & Selection",
"description": "Embedding models are the heart of vector search. Learn how to evaluate and select appropriate embedding models for your use case.",
"url": "https://academy.weaviate.io/courses/wa150-py"
"url": "https://academy.weaviate.io/courses/wa260-py"
},
{
"id": "multimodal-data-in-focus",
"title": "Multimodal Data: In Focus",
"description": "A lot of our world is multimodal. Learn how to work with multimodal data, combining the right embedding and generative models with Weaviate.",
"url": "https://academy.weaviate.io/courses/wa910-py"
},
{
"id": "async-python-client-usage",
"title": "Async Python Client Usage",
"description": "Learn how to use Weaviate's async capabilities to handle concurrent operations and large-scale data processing efficiently.",
"url": "https://academy.weaviate.io/courses/wa280-py"
"id": "document-chunking-strategies",
"title": "Document Chunking Strategies",
"description": "Learn effective chunking strategies for different types of documents and use cases.",
"url": "https://academy.weaviate.io/courses/wa921-py"
}
]
6 changes: 3 additions & 3 deletions src/components/AcademyAdmonition/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -118,13 +118,13 @@ import AcademyAdmonition from '@site/src/components/AcademyAdmonition';
<AcademyAdmonition courseId="quick-tour-of-weaviate" />

// With custom button text
<AcademyAdmonition
courseId="movie-recommendation-api"
<AcademyAdmonition
courseId="fast-api-weaviate-rag"
buttonText="Start Learning"
/>

// Override with custom content (for courses not in JSON)
<AcademyAdmonition
<AcademyAdmonition
customTitle="Custom Course Title"
customDescription="This is a custom course description."
customUrl="https://academy.weaviate.io/courses/custom"
Expand Down
Loading