Show HN: I wrote a full text search engine in Go
Blaze — это высокопроизводительный полнотекстовый поисковый движок на Go, который специализируется на скорости и простоте использования. Он использует индексирование на основе памяти и поддерживает полнотекстовый поиск, включая поиск по префиксу, суффиксу и фразам. Проект разработан для того, чтобы быть легко встраиваемым в любое приложение, которое требует быстрый и эффективный поиск. Blaze использует современные алгоритмы сжатия и индексации, такие как Brotli и Snappy, для оптимизации производительности и использования памяти. Он также поддерживает горизонтальное масштабирование и может быть развернут в облаке. Проект имеет открытый исходный код под лицензией MIT и активно поддерживается сообществом.
Комментарии (41)
- Проект представляет собой учебный пример полнотекстового поискового движка, написанный на Go, с акцентом на внутреннее устройство индекса и простоту кода.
- Автор отказался от парсинга строковых запросов, чтобы не отвлекать внимание от того, как устроен индекс.
- Несколько участников обсуждения отметили, что проект не лицензирован и не имеет лицензии, что может затруднить его использование.
- Другие участники предложили сравнить производительность с Lucene и Bleve, а также рассмотреть возможность интеграции с векторными базами данных.
- Автор ответил, что проект задуман как учебный пример, а не как полноценная замена существующим решениям.
Show HN: I replaced vector databases with Git for AI memory (PoC)
DiffMem — хранилище памяти для диалоговых ИИ-агентов на базе Git.
Использует коммиты как «снимки» контекста: каждое сообщение = отдельный diff, история полностью версионируется.
Поддерживает ветвление диалогов, откат к любой точке и слияние веток без потери данных.
Работает как лёгкая библиотека Python: pip install diffmem, далее diffmem init, diffmem commit, diffmem checkout.
Внутри — обычный репозиторий Git, поэтому можно пушить на GitHub, делать PR и использовать все привычные инструменты.
Комментарии (39)
- Пользователь предложил заменить векторные БД на «агентивный» ретривал: LLM сама выбирает нужные файлы из аннотированного списка; для сотен документов это проще и точнее, чем классический RAG.
- Критика: такой подход не решает задачи семантического поиска в больших пространствах, для которых и создавались векторные БД.
- Поддержка: git-файлы удобны для малого объёма (≈100 МБ), а BM25/Lucene/FAISS-flat можно использовать как быструю альтернативу.
- Предложены улучшения: post-commit-хуки для обновления индекса, гибридные поиски, MCP-сервер, временные knowledge-graph.
- Автор признаёт, что это PoC для «памяти агентов», а не полноценная замена векторных БД; при интересе готов довести до продакшена.