Show HN: I wrote a full text search engine in Go
Blaze — это высокопроизводительный полнотекстовый поисковый движок на Go, который специализируется на скорости и простоте использования. Он использует индексирование на основе памяти и поддерживает полнотекстовый поиск, включая поиск по префиксу, суффиксу и фразам. Проект разработан для того, чтобы быть легко встраиваемым в любое приложение, которое требует быстрый и эффективный поиск. Blaze использует современные алгоритмы сжатия и индексации, такие как Brotli и Snappy, для оптимизации производительности и использования памяти. Он также поддерживает горизонтальное масштабирование и может быть развернут в облаке. Проект имеет открытый исходный код под лицензией MIT и активно поддерживается сообществом.
Комментарии (41)
- Проект представляет собой учебный пример полнотекстового поискового движка, написанный на Go, с акцентом на внутреннее устройство индекса и простоту кода.
- Автор отказался от парсинга строковых запросов, чтобы не отвлекать внимание от того, как устроен индекс.
- Несколько участников обсуждения отметили, что проект не лицензирован и не имеет лицензии, что может затруднить его использование.
- Другие участники предложили сравнить производительность с Lucene и Bleve, а также рассмотреть возможность интеграции с векторными базами данных.
- Автор ответил, что проект задуман как учебный пример, а не как полноценная замена существующим решениям.
Show HN: Chroma Cloud – serverless search database for AI
Chroma Cloud — серверлес-база поиска с открытым исходным кодом: быстро, дёшево, масштабируемо, надёжно.
Возможности
- Векторный, полнотекстовый и мета-поиск
- Форк коллекций
- Скоро: автоматическая синхронизация данных
Производительность
- Низкая латентность, высокий QPS
- Линейное масштабирование данных
- Хранение в объектном хранилище
DevEx
- Оплата по факту использования
- Веб-дашборд, CLI, локальная разработка
- Интеграция в CI/CD
Как начать
pip install chromadb
import chromadb
client = chromadb.CloudClient()
collection = client.get_or_create_collection("my_docs")
collection.add(
documents=["Hello, world!", "Chroma is cool"],
metadatas=[{"src": "demo"}, {"src": "demo"}],
ids=["d1", "d2"]
)
print(collection.query(query_texts=["hello"], n_results=1))
Комментарии (27)
- Пользователи спрашивают, почему «open-source» просит деньги: ответ — сам Chroma под Apache 2.0 и бесплатен при самостоятельном развёртывании, а платная версия — это управляемый Chroma Cloud.
- Chroma поддерживает комбинированный поиск: фильтрацию по метаданным (
category=X AND value>Y) + векторное сходство. - Некоторые считают, что продукт и калькулятор цен слишком похожи на Turbopuffer; команда Chroma отвечает, что архитектуру обсуждали публично два года и уважают конкурентов.
- Для нетехнических пользователей Chroma решает задачу «R» в RAG: позволяет LLM «на лету» подтягивать нужные данные без дообучения модели.
- Стартапам предлагают помощь: совместное планирование, Slack-канал и персональная поддержка.
- Отличия от pgvector/Redis: собственные индексы (SPANN, SPFresh), шардирование, масштабирование, встроенный regex и trigram-поиск без нагрузки на основную БД.
- По сравнению с Qdrant Chroma позиционируется как «0 конфигураций и 0 операционной боли».