Где живут ваши данные и почему хранилище можно менять как батарейку
Document Store — хранилище, в котором лежат ваши материалы, подготовленные для поиска. Единица хранения — Document: фрагмент текста плюс метаданные (откуда он, дата, автор) плюс, при векторном поиске, его вектор-«отпечаток смысла».
Document Store — библиотека с картотекой. Книги (фрагменты текстов) стоят на полках, а картотека устроена так, что библиотекарь-Retriever мгновенно находит нужные страницы — по словам или по смыслу.
Haystack общается с любым хранилищем через один и тот же набор «ручек»: записать документы, найти, удалить. Поэтому хранилище — сменная деталь:
InMemoryDocumentStore — всё в оперативной памяти, ноль настройки, при перезапуске данные исчезают. Идеально для проверки идеи за вечер.| Хранилище | Что это | Когда уместно |
|---|---|---|
InMemory | Встроенное, в памяти | Прототипы, обучение, тесты |
| pgvector | Расширение обычного PostgreSQL | Если PostgreSQL уже есть (как на ваших серверах) — векторный поиск без новой инфраструктуры |
| Qdrant | Специализированная векторная база, open source | Большие объёмы, важна скорость векторного поиска, легко ставится в Docker |
| Elasticsearch / OpenSearch | Классика полнотекстового поиска | Сильны в поиске по словам и гибриде, много данных |
| Chroma, Weaviate, Milvus, Pinecone… | Другие векторные базы | Свои ниши; Pinecone — облачный сервис без своего сервера |
Карта выбора хранилища есть в шпаргалке.
Вспомните пайплайн индексации из урока 4 — теперь видно его целиком:
Выбор хранилища — решение инфраструктурное, а не архитектурное. Начинайте с простого (InMemory → pgvector на своём сервере), мигрируйте, когда прижмёт: конвейер при этом почти не трогается.