Skip to content

Commit 7033977

Browse files
committed
Update Fern docs integrations and index guides
1 parent 08543ab commit 7033977

12 files changed

Lines changed: 2694 additions & 146 deletions

fern/docs.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,10 +74,14 @@ navigation:
7474
path: "./pages/neighbors/bruteforce.md"
7575
- page: "CAGRA"
7676
path: "./pages/neighbors/cagra.md"
77+
- page: "NN-Descent"
78+
path: "./pages/neighbors/nn_descent.md"
7779
- page: "IVF-Flat"
7880
path: "./pages/neighbors/ivfflat.md"
7981
- page: "IVF-PQ"
8082
path: "./pages/neighbors/ivfpq.md"
83+
- page: "ScaNN"
84+
path: "./pages/neighbors/scann.md"
8185
- page: "Vamana"
8286
path: "./pages/neighbors/vamana.md"
8387
- page: "All-neighbors"

fern/pages/choosing_and_configuring_indexes.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ The best index depends mostly on dataset size, vector dimensionality, recall tar
2626
| [IVF-Flat](neighbors/ivfflat.md) | Medium | Fast when probing a subset of partitions; exact within scanned partitions | Partitions the dataset into coarse clusters, allowing the index to scale to larger datasets by searching only relevant partitions. Stores full-precision vectors. |
2727
| IVF-SQ | Medium | Often faster than IVF-Flat due to lower memory bandwidth | IVF with scalar quantization. Vectors are compressed to reduce memory use and improve throughput with some recall tradeoff. |
2828
| [IVF-PQ](neighbors/ivfpq.md) | Medium-high | Very memory-efficient; search speed depends on compression, probing, and refinement | IVF with product quantization. Splits vectors into subvectors and stores compact codes, enabling much smaller indexes with a larger accuracy tradeoff than IVF-SQ. |
29-
| ScaNN | Medium-high | Strong recall and speed tradeoff | Combines partitioning, quantization, and reranking to prune the search space while preserving result quality. |
29+
| [ScaNN](neighbors/scann.md) | Medium-high | Strong recall and speed tradeoff | Combines partitioning, quantization, and reranking to prune the search space while preserving result quality. |
3030
| [Vamana/DiskANN](neighbors/vamana.md) | High | Excellent at very large scale, including SSD-backed search | Builds a graph designed for large or disk-backed indexes, especially when the full dataset cannot fit comfortably in memory. |
3131

3232
## Quantization
@@ -47,7 +47,7 @@ This is especially useful with quantized indexes. Quantization makes search fast
4747

4848
For example, an IVF-SQ or [IVF-PQ](neighbors/ivfpq.md) index may use compressed vectors to scan selected partitions quickly. After it finds the best candidate IDs, a refinement step can load the original vectors for those candidates and compute exact distances. This usually improves recall while keeping most of the speed and memory benefits of quantized search.
4949

50-
ScaNN also relies heavily on this idea: it prunes the dataset quickly using partitioning and quantization, then reranks a smaller candidate set to improve final result quality.
50+
[ScaNN](neighbors/scann.md) also relies heavily on this idea: it prunes the dataset quickly using partitioning and quantization, then reranks a smaller candidate set to improve final result quality.
5151

5252
## IVF vs. graph-based indexes
5353

@@ -67,7 +67,7 @@ For quantized indexes, tune compression together with refinement. Stronger compr
6767

6868
For graph-based indexes, tune search breadth before increasing build complexity. If search-time tuning cannot reach the recall target within the latency budget, then increase graph quality, graph degree, or construction breadth.
6969

70-
For multi-stage indexes such as ScaNN, tune candidate count and reranking together. The goal is to keep the first stage broad enough to preserve recall and the reranking stage small enough to stay fast.
70+
For multi-stage indexes such as [ScaNN](neighbors/scann.md), tune candidate count and reranking together. The goal is to keep the first stage broad enough to preserve recall and the reranking stage small enough to stay fast.
7171

7272
## When to use each
7373

@@ -83,6 +83,6 @@ Use HNSW for high-quality CPU search when the index fits in memory.
8383

8484
Use [CAGRA](neighbors/cagra.md) for high-throughput GPU search, fast GPU index construction, or hybrid workflows where a GPU-built graph is converted to HNSW for CPU search.
8585

86-
Use ScaNN when you want a tuned combination of partitioning, quantization, and reranking.
86+
Use [ScaNN](neighbors/scann.md) when you want a tuned combination of partitioning, quantization, and reranking.
8787

8888
Use [Vamana/DiskANN](neighbors/vamana.md) for very large datasets, especially when SSD-backed search is important, or hybrid workflows where a GPU-built graph is converted to CPU for DiskANN search.

fern/pages/integrations.md

Lines changed: 75 additions & 13 deletions
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)