An open API service indexing awesome lists of open source software.

https://github.com/matchyc/vector-search-papers

πŸ“š Awesome papers and technical blogs on vector DB (database), semantic-based vector search or approximate nearest neighbor search (ANN Search, ANNS). Vector search is the key component of large-scale information retrieval, cross-modal retrieval, LLMs-based RAG, vector databases.
https://github.com/matchyc/vector-search-papers

Last synced: 12 months ago
JSON representation

πŸ“š Awesome papers and technical blogs on vector DB (database), semantic-based vector search or approximate nearest neighbor search (ANN Search, ANNS). Vector search is the key component of large-scale information retrieval, cross-modal retrieval, LLMs-based RAG, vector databases.

Awesome Lists containing this project

README

          

# Vector Search, Approximate Nearest Neighbor Search Papers

[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)
[![Hits](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fmatchyc%2Fvector-search-papers&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=hits&edge_flat=false)](https://hits.seeyoufarm.com)
![maintenance-status](https://img.shields.io/badge/maintenance-actively--developed-brightgreen.svg) [![Generic badge](https://img.shields.io/badge/PRs-welcome-lgihtgreen.svg)](https://shields.io/)

A curated collection of awesome papers in the field of vector search, known as approximate nearest neighbor search (ANN search, ANNS). This repository aims to gather high-quality research papers, articles, and resources that provide valuable insights and advancements. This technology is a critical component in vector databases, retrieval-augmented generation (RAG), large-scale information retrieval, recommendation systems, drug discovery, image search, and even **LLM inference**.

>I hope everyone interested in vector search can help build the list. We will list the contributors.

## The latest update: 2025-05-21

## Table of Contents
- [What is vector search and its applications](#what-is-vector-search-and-its-applications)
- [Papers](#papers)
- [License](#license)

## What is vector search and its applications
First of all, what is vector search, and why is it so important in the booming age of AI?

simple explanation:

- [what-is-vector-search](https://www.coveo.com/blog/what-is-vector-search/)
- [a-gentle-introduction-to-vector-search](https://odsc.medium.com/a-gentle-introduction-to-vector-search-3c0511bc6771)
- [Explanation in Quora](https://www.quora.com/Could-someone-explain-me-the-basic-idea-of-Approximate-Nearest-Neighbor-ANN-search-and-show-an-example)
- [k-nn-vs-approximate-nearest-neighbors](https://sefiks.com/2023/07/27/k-nn-vs-approximate-nearest-neighbors/)

Applications:

- [5-use-cases-for-vector-search](https://rockset.com/blog/5-use-cases-for-vector-search/)
- [Introduction to Vector Search for Developers](https://www.pinecone.io/learn/vector-search-basics/)
- [Inference of LLMs](https://arxiv.org/abs/2409.10516)

## Papers

| Title | Url | High-Level Category| Remarks|
| --- | --- | --- | --- |
|Steiner-Hardness: A Query Hardness Measure for Graph-Based ANN Indexes|[Link](https://www.arxiv.org/abs/2408.13899)|Theory||
|Accelerating Graph Indexing for ANNS on Modern CPUs|[Link](https://arxiv.org/abs/2502.18113)|Graph-based||
|CAGRA: Highly Parallel Graph Construction and Approximate Nearest Neighbor Search for GPUs|[Link](https://ieeexplore.ieee.org/abstract/document/10597683)|GPU||
|ParlayANN: Scalable and Deterministic Parallel Graph-Based Approximate Nearest Neighbor Search Algorithms|[Link](https://arxiv.org/abs/2305.04359)|graph-based||
|SymphonyQG: Towards Symphonious Integration of Quantization and Graph for Approximate Nearest Neighbor Search|[Link](https://arxiv.org/abs/2411.12229)|Graph-based|optimizing on memory access|
|RoarGraph: A Projected Bipartite Graph for Efficient Cross-Modal Approximate Nearest Neighbor Search|[Link](https://arxiv.org/abs/2408.08933)|graph-based|out-of-distribution|
| On Efficient Retrieval of Top Similarity Vectors | [Link](https://aclanthology.org/D19-1527.pdf) |MIPS|MIPS for top-1|
| In-Storage Acceleration of Graph-Traversal-Based Approximate Nearest Neighbor Search | [Link](https://arxiv.org/abs/2312.03141) | NAND-Flash acceleration | Using storage compute |
| DESSERT: An Efficient Algorithm for Vector Set Search with Vector Set Queries | [Link](https://arxiv.org/abs/2210.15748) | multi-vector |
| Approximate Nearest Neighbor Search on High Dimensional Data β€” Experiments, Analyses, and Improvement | [Link](https://arxiv.org/pdf/1610.02455.pdf) | Survey |
| Graph-based Nearest Neighbor Search: From Practice to Theory | [Link](http://arxiv.org/abs/1907.00845) | Theoretical |
| FINGER: Fast Inference for Graph-based Approximate Nearest Neighbor Search | [Link](http://arxiv.org/abs/2206.11408) | Graph-based |
| HVS: hierarchical graph structure based on Voronoi diagrams for solving approximate nearest neighbor search | [Link](https://dl.acm.org/doi/10.14778/3489496.3489506) | Graph-based |
| DiskANN: Fast Accurate Billion-point Nearest Neighbor Search on a Single Node | [Link](https://papers.nips.cc/paper_files/paper/2019/file/09853c7fb1d3f8ee67a61b6bf4a7f8e6-Paper.pdf) | Graph-based | SSD-based |
| Efficient and Robust Approximate Nearest Neighbor Search Using Hierarchical Navigable Small World Graphs | [Link](https://ieeexplore.ieee.org/document/8594636/) | Graph-based |
| SONG: Approximate Nearest Neighbor Search on GPU | [Link](https://ieeexplore.ieee.org/document/9101583/) | Graph-based |
| Graph-based Nearest Neighbor Search: Promises and Failures | [Link](http://arxiv.org/abs/1904.02077) | Graph-based |
| Improving Approximate Nearest Neighbor Search through Learned Adaptive Early Termination | [Link](https://dl.acm.org/doi/10.1145/3318464.3380600) | Graph-based |
| A Comprehensive Survey and Experimental Comparison of Graph-Based Approximate Nearest Neighbor Search | [Link](http://arxiv.org/abs/2101.12631) | Survey |
| Fast approximate nearest neighbor search with the navigating spreading-out graph | [Link](https://dl.acm.org/doi/10.14778/3303753.3303754) | Graph-based |
| Non-metric Similarity Graphs for Maximum Inner Product Search | [Link](https://proceedings.neurips.cc/paper_files/paper/2018/file/229754d7799160502a143a72f6789927-Paper.pdf) | Graph-based |
| Understanding and Improving Proximity Graph-based Maximum Inner Product Search | [Link](http://arxiv.org/abs/1909.13459) | Graph-based |
| Learning to Route in Similarity Graphs | [Link](http://arxiv.org/abs/1905.10987) | Graph-based+DeepLearning(GCN) |
| Optimization of Indexing Based on k-Nearest Neighbor Graph for Proximity Search in High-dimensional Data | [Link](http://arxiv.org/abs/1810.07355) | Graph-based |
| Fast Approximate Nearest Neighbor Search with a Dynamic Exploration Graph using Continuous Refinement | [Link](http://arxiv.org/abs/2307.10479) | Graph-based |
| Efficient Approximate Nearest Neighbor Search in Multi-dimensional Databases | [Link](https://dl.acm.org/doi/10.1145/3588908) | Graph-based |
| Scaling Graph-Based ANNS Algorithms to Billion-Size Datasets: A Comparative Analysis | [Link](http://arxiv.org/abs/2305.04359) | Graph-based |
| SPANN: Highly-efficient Billion-scale Approximate Nearest Neighbor Search | [Link](https://arxiv.org/pdf/2111.08566.pdf) | Graph-Tree-based |SSD-based|
| Hierarchical Clustering-Based Graphs for Large Scale Approximate Nearest Neighbor Search | [Link](https://www.sciencedirect.com/science/article/pii/S0031320319302730) | Graph-based |
| Hierarchical Clustering-Based Graphs for Large Scale Approximate Nearest Neighbor Search | [Link](https://linkinghub.elsevier.com/retrieve/pii/S0031320319302730) | Graph-based |
| Fusion of graph-based indexing and product quantization for ANN search | [Link](https://medium.com/@masajiro.iwasaki/fusion-of-graph-based-indexing-and-product-quantization-for-ann-search-7d1f0336d0d0) | Graph-based |
| Towards Efficient Index Construction and Approximate Nearest Neighbor Search in High-Dimensional Spaces | [Link](https://dl.acm.org/doi/10.14778/3594512.3594527) | Graph-based |
| Optimization of Indexing Based on k-Nearest Neighbor Graph for Proximity Search in High-dimensional Data | [Link](http://arxiv.org/abs/1810.07355) | Graph-based |
| Scaling Graph-Based ANNS Algorithms to Billion-Size Datasets: A Comparative Analysis | [Link](http://arxiv.org/abs/2305.04359) | Survey |
| Automating Nearest Neighbor Search Configuration with Constrained Optimization | [Link](https://arxiv.org/pdf/2301.01702.pdf) | Learning |
| Approximate Nearest Neighbor Search under Neural Similarity Metric for Large-Scale Recommendation | [Link](https://dl.acm.org/doi/10.1145/3511808.3557098) | Graph-based |
| Norm Adjusted Proximity Graph for Fast Inner Product Retrieval | [Link](https://dl.acm.org/doi/10.1145/3447548.3467412) | Graph-based|
| On Efficient Retrieval of Top Similarity Vectors | [Link](https://aclanthology.org/D19-1527) | Graph-based |
| SONG: Approximate Nearest Neighbor Search on GPU | [Link](https://ieeexplore.ieee.org/document/9101583) | GPU |
| RTNN: Accelerating Neighbor Search Using Hardware Ray Tracing | [Link](https://arxiv.org/abs/2201.01366) | GPU |
| Billion-scale similarity search with GPUs | [Link](https://arxiv.org/abs/1702.08734) | GPU |
| Fast neural ranking on bipartite graph indices | [Link](https://dl.acm.org/doi/10.14778/3503585.3503589) | Neural Rank |
| Fast Item Ranking under Neural Network based Measures | [Link](https://dl.acm.org/doi/10.1145/3336191.3371830) | Neural Rank |
| Non-metric Similarity Graphs for Maximum Inner Product Search | [Link](https://proceedings.neurips.cc/paper_files/paper/2018/hash/229754d7799160502a143a72f6789927-Abstract.html) | MIPS |
| MΓΆbius Transformation for Fast Inner Product Search on Graph | [Link](https://proceedings.neurips.cc/paper_files/paper/2019/hash/0fd7e4f42a8b4b4ef33394d35212b13e-Abstract.html) | MIPS |
| Understanding and Improving Proximity Graph-based Maximum Inner Product Search | [Link](http://arxiv.org/abs/1909.13459) | MIPS |
| Reinforcement Routing on Proximity Graph for Efficient Recommendation | [Link](https://dl.acm.org/doi/10.1145/3512767) | Learning |
| From Distillation to Hard Negative Sampling: Making Sparse Neural IR Models More Effective | [Link](https://dl.acm.org/doi/10.1145/3477495.3531857) | Learning |
| Constructing Tree-based Index for Efficient and Effective Dense Retrieval | [Link](https://dl.acm.org/doi/10.1145/3539618.3591651) | Learning |
| Reverse Maximum Inner Product Search: Formulation, Algorithms, and Analysis | [Link](https://dl.acm.org/doi/10.1145/3587215) | MIPS |
| FARGO: Fast Maximum Inner Product Search via Global Multi-Probing | [Link](https://dl.acm.org/doi/10.14778/3579075.3579084) | LSH |
| SRS: solving c -approximate nearest neighbor queries in high dimensional Euclidean space with a tiny index | [Link](https://dl.acm.org/doi/10.14778/2735461.2735462) | LSH |
| From Distillation to Hard Negative Sampling: Making Sparse Neural IR Models More Effective | [Link](https://dl.acm.org/doi/10.1145/3477495.3531857) | LSH |
| LazyLSH: Approximate Nearest Neighbor Search for Multiple Distance Functions with a Single Index | [Link](https://doi.org/10.1145/2882903.2882930) | LSH |
| HD-index: pushing the scalability-accuracy boundary for approximate kNN search in high-dimensional spaces | [Link](https://dl.acm.org/doi/10.14778/3204028.3204034) | LSH |
| Falconn++: A Locality-sensitive Filtering Approach for Approximate Nearest Neighbor Search | [Link](http://arxiv.org/abs/2206.01382) | LSH |
| Deep Semantic-Preserving Ordinal Hashing for Cross-Modal Similarity Search | [Link](https://ieeexplore.ieee.org/document/8478207) | LSH |
| Supervised Hierarchical Deep Hashing for Cross-Modal Retrieval | [Link](https://dl.acm.org/doi/10.1145/3394171.3413962) | LSH |
| A Revisit of Hashing Algorithms for Approximate Nearest Neighbor Search | [Link](http://arxiv.org/abs/1612.07545) | Survey |
| Transformer Memory as a Differentiable Search Index | [Link](https://arxiv.org/abs/2202.06991) | Model-as-Index |
| Recommender Systems with Generative Retrieval | [Link](https://arxiv.org/abs/2305.05065) | Model-as-Index |
| SPREADING VECTORS FOR SIMILARITY SEARCH | [Link](https://arxiv.org/abs/1806.03198) | Learning + Dimensionality Reduction |
|Model-enhanced Vector Index|[Link](https://arxiv.org/abs/2309.13335)| Fusion Retrieval|
|GraSP: Optimizing Graph-based Nearest Neighbor Search with Subgraph Sampling and Pruning|[Link](https://dl.acm.org/doi/abs/10.1145/3488560.3498425)| Prune edges with learning |
|Low-Precision Quantization for Efficient Nearest Neighbor Search| [Link](https://arxiv.org/pdf/2110.08919.pdf) |scalar quantization |
|Worst-case Performance of Popular Approximate Nearest Neighbor Search Implementations: Guarantees and Limitations | [Link](https://arxiv.org/abs/2310.19126) | Graph-based |
| Navigable Graphs for High-Dimensional Nearest Neighbor Search: Constructions and Limits | [Link](https://arxiv.org/abs/2405.18680v3) | Theoretical |

Please note that some entries may require access or membership to view the full content.

## How to Contribute

We welcome contributions to expand and improve this collection. If you have any papers or resources that you believe should be included, please follow these guidelines:

1. Fork the repository.
2. Add your paper/resource to the appropriate category or create a new category if needed.
3. Include a link to the paper/resource (if available) or any relevant information.
4. Submit a pull request.

## License

MIT license.