Haystack pipelines with zero embedder components
A normal Haystack pipeline needs two embedders — one for documents, one for queries. With Opensolr it needs none: everything embeds server-side on GPU, and retrieval fuses BM25 + kNN natively.
The whole pipeline
Count the embedder components. There are none.
from haystack import Document, Pipeline from haystack_integrations.document_stores.opensolr import OpensolrDocumentStore from haystack_integrations.components.retrievers.opensolr import OpensolrHybridRetriever # credentials default to OPENSOLR_EMAIL / OPENSOLR_API_KEY env vars store = OpensolrDocumentStore(index="mysite__dense", create_if_missing=True) store.write_documents([ Document(content="Hybrid search fuses BM25 with vector similarity"), Document(content="Cats sleep sixteen hours a day"), ]) pipe = Pipeline() pipe.add_component("retriever", OpensolrHybridRetriever(document_store=store)) result = pipe.run({"retriever": {"query": "how do keyword and semantic search combine?"}})
Built for real pipelines
Standard Haystack contracts, managed Solr underneath.
Full DocumentStore protocol
write_documents with DuplicatePolicy (skip / overwrite / fail), filter_documents with the standard filter dict, counts, deletes — plus Secret-based credentials and full serde for saved pipelines.
Hybrid retriever
OpensolrHybridRetriever fuses BM25 and kNN scores per document via the native {!hybrid} Solr parser, with a tunable alpha balance and per-run overrides.
Plain Apache Solr underneath
Every index is a real Solr 9 core with the native /select API — facets, highlighting, spellcheck are all there when your pipeline needs more than retrieval.
Also available for: LangChain · LlamaIndex · MCP / AI Agents · Laravel
Simplify your pipeline tonight
Free 15-day trial, no credit card — the included AI quota covers the whole quickstart.