Skip to content

[v1.38] HFresh GA docs#436

Open
g-despot wants to merge 1 commit into
v1-38/mainfrom
v1-38/hfresh
Open

[v1.38] HFresh GA docs#436
g-despot wants to merge 1 commit into
v1-38/mainfrom
v1-38/hfresh

Conversation

@g-despot
Copy link
Copy Markdown
Contributor

@g-despot g-despot commented Jun 1, 2026

Documents the HFresh vector index for its v1.38 GA and surfaces it as a low-memory alternative to HNSW.

  • Mark HFresh as generally available (status note updated to "Added in v1.36")
  • Expand the HFresh concept, config-ref, and starter-guide pages with how it works (in-memory compressed centroids, on-disk postings), when to use it, and a recall tuning tip
  • Correct the HFresh parameter table, including maxPostingSizeKB mutability
  • Cross-reference HFresh as a memory-efficient option wherever the docs discuss HNSW memory cost, quantization for memory savings, or index choice

🤖 Generated with Claude Code

Copy link
Copy Markdown

@orca-security-eu orca-security-eu Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Orca Security Scan Summary

Status Check Issues by priority
Passed Passed Secrets high 0   medium 0   low 0   info 0 View in Orca

@g-despot g-despot changed the title Add HFresh GA docs [v1.38] HFresh GA docs Jun 1, 2026
@g-despot g-despot requested review from asdine and Copilot June 1, 2026 11:41
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Updates Weaviate documentation to reflect the HFresh vector index being generally available in v1.38 and positions it as a low-memory, disk-backed alternative to HNSW for very large datasets.

Changes:

  • Expands HFresh explanations and adds recall-tuning guidance (searchProbe, rescoreLimit) in starter guides and index reference docs.
  • Cross-links HFresh from memory/quantization/index-choice sections to help readers discover it when optimizing RAM usage.
  • Updates the HFresh feature note/status include to remove “Preview” language and present it as “Added in v1.36”.

Reviewed changes

Copilot reviewed 10 out of 10 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
docs/weaviate/starter-guides/managing-resources/indexing.mdx Expands HFresh overview and adds a tuning tip for recall.
docs/weaviate/starter-guides/managing-resources/compression.mdx Adds HFresh as an index-level alternative when RAM is the main constraint.
docs/weaviate/config-refs/indexing/vector-index.mdx Updates HFresh parameter table (mutability/details) and adds HFresh tuning guidance.
docs/weaviate/concepts/vector-quantization.md Cross-references HFresh as a disk-backed alternative to compression for memory limits.
docs/weaviate/concepts/resources.md Adds HFresh as an option for very large, memory-constrained datasets.
docs/weaviate/concepts/indexing/vector-index.md Expands HFresh “how it works” + tradeoffs and updates the index comparison table.
docs/weaviate/concepts/filtering.md Notes that HFresh benefits from ACORN via its centroid HNSW routing.
docs/weaviate/concepts/cluster.md Mentions HFresh can reduce the need to shard purely for RAM reasons.
docs/weaviate/best-practices/index.md Adds HFresh as an alternative to quantization for lowering memory footprint.
_includes/feature-notes/hfresh_status.mdx Updates the feature status note to indicate availability since v1.36.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +49 to 51
The HNSW index must be stored in memory. The memory required is directly related to the size of your dataset. There is no correlation between the size of your dataset and the current query load. You can use [`product quantization (PQ)`](/weaviate/concepts/vector-quantization#product-quantization) to compress the vectors in your dataset in increase the number of vectors your can hold in memory. For very large datasets, the disk-based [HFresh index](/weaviate/concepts/vector-index#hfresh-index) is another option.

Weaviate let's you configure a limit to the number of vectors held in memory in order to prevent unexpected Out-of-Memory ("OOM") situations. The default value is one trillion (`1e12`) objects. per collection. To adjust the number of objects, update the value of [`vectorCacheMaxObjects`](../config-refs/indexing/vector-index.mdx) in your index settings.
- BQ compressed vectors use 97% less memory than uncompressed vectors.

An HNSW index comprises a connection graph as well as the vectors. Quantization methods reduce the size of the vectors, but does not affect the size of the graph. As a result the overall reduction in memory usage is less than the reduction in vector size, but still significant.
An HNSW index comprises a connection graph as well as the vectors. Quantization methods reduce the size of the vectors, but does not affect the size of the graph. As a result the overall reduction in memory usage is less than the reduction in vector size, but still significant. If you need to reduce memory further for a very large dataset, the disk-based [HFresh index](/weaviate/concepts/vector-index#hfresh-index) avoids keeping the full graph in memory altogether.
| `replicas` | integer | `4` | No | Number of posting lists in which a vector is added. Min: `1`, Max: `10`. |
| `searchProbe` | integer | `64` | Yes | Number of posting lists to search during a query. |
| `rq` | object | -- | No | Rotational quantization (RQ) compression configuration. RQ is enabled by default and immutable. |
| `rq` | object | -- | Partial | Rotational quantization (RQ) compression configuration. RQ is mandatory for HFresh and cannot be turned off. Its `rescoreLimit` (default `350`) — the number of candidates rescored against uncompressed vectors — is mutable at runtime. |
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants