Enterprise Search & Knowledge Base: Architecture Blueprint & Production Stack
Reviewed by Umar Abbas • Founder & Principal AI Architect
Enterprise search and knowledge base is a production RAG architecture engineered to query fragmented corporate data repositories with cited precision. Integrating Qdrant hybrid vector indexing, Cohere Rerank v3, and GraphRAG entity linking, the platform provides permission-filtered answers across SharePoint, Confluence, and internal SQL databases with zero data hallucination.
Reference Architecture: Hybrid Vector RAG & GraphRAG Pipeline
Permission-filtered query pipeline combining Qdrant dense-sparse retrieval, Cohere Rerank v3, and GraphRAG entity knowledge graphs.
+-----------------------+ +------------------------+ +------------------------+ | Enterprise Ingestion | | Qdrant Vector Engine | | Cohere Rerank v3 | | SharePoint / Slack / | —> | Hybrid Dense + Sparse | —> | Cross-Encoder Reranker | | Confluence Connectors | | Security Trimming (AD) | | Top 10 Context Selection| +-----------------------+ +------------------------+ +------------------------+ | v +-----------------------+ +------------------------+ +------------------------+ | Citation UI Dashboard | | Verified Generation | | GraphRAG Entity Linker | | Cited Source Tokens | <— | LLM Inference Node | <— | Knowledge Graph Node | | (Page & Document ID) | | (Zero Hallucination) | | Entity Triplet Fusion | +-----------------------+ +------------------------+ +------------------------+
Four-Stage Enterprise Search Stack
Permission-Aware Document Connectors
Ingests SharePoint files, Confluence spaces, and internal databases while preserving document Access Control Lists (ACLs) in payload metadata.
Qdrant Hybrid Vector Search
Executes hybrid BM25 sparse keyword and dense embedding search inside Qdrant with sub-20ms payload filter evaluation.
Cohere Rerank v3 Cross-Encoder
Re-scores top 100 candidate chunks to select the 10 most relevant passages, filtering out semantically similar but non-pertinent documents.
GraphRAG Entity Traversal
Traverses knowledge graph subgraphs to connect entity relationships across disparate documents, generating fully cited answers.
Qdrant Hybrid Search & Cohere Rerank v3 Python Handler
Executable Python implementation performing payload-filtered Qdrant vector retrieval and Cohere Rerank v3 scoring.
from qdrant_client import QdrantClient, models
import cohere
from typing import List, Dict, Any
# Initialize Qdrant and Cohere Clients
qdrant = QdrantClient(url="http://qdrant-cluster.internal:6333", api_key="VPC_QDRANT_KEY")
cohere_client = cohere.ClientV2("COHERE_PRODUCTION_API_KEY")
def execute_permission_aware_search(
user_query: str,
user_groups: List[str],
top_k: int = 10
) -> List[Dict[str, Any]]:
"""Performs Qdrant hybrid vector search with ACL payload security filtering."""
# 1. Construct Qdrant security filter enforcing active user group access
security_filter = models.Filter(
must=[
models.FieldCondition(
key="allowed_groups",
match=models.MatchAny(any=user_groups)
)
]
)
# 2. Embed user query using dense vector model
# (Dummy embedding array representing BGE-M3 / OpenAI 1536-dim vector)
query_vector = [0.014, -0.092, 0.412] + [0.0] * 1533
# 3. Query Qdrant Collection
search_results = qdrant.search(
collection_name="enterprise_kb",
query_vector=query_vector,
query_filter=security_filter,
limit=50, # Fetch top 50 candidates for reranking
with_payload=True
)
# Extract candidate document texts
documents = [hit.payload["text_chunk"] for hit in search_results]
# 4. Apply Cohere Rerank v3 Cross-Encoder Scoring
rerank_response = cohere_client.rerank(
model="rerank-v3.5",
query=user_query,
documents=documents,
top_n=top_k
)
# Assemble final reranked context payload with citations
final_results = []
for item in rerank_response.results:
original_hit = search_results[item.index]
final_results.append({
"chunk_id": original_hit.id,
"document_title": original_hit.payload["document_title"],
"page_number": original_hit.payload["page_number"],
"relevance_score": item.relevance_score,
"content": original_hit.payload["text_chunk"]
})
return final_results
# Example Usage
if __name__ == "__main__":
results = execute_permission_aware_search(
user_query="What are the Q3 SLA requirements for cloud vector databases?",
user_groups=["eng-lead", "devops-team"]
)
print(f"Retrieved {len(results)} cited context chunks. Top score: {results[0]['relevance_score']:.4f}")Enterprise Search Benchmarks
Performance metrics comparing traditional keyword search against the Esaholic Qdrant + Cohere Rerank v3 architecture.
| Metric Parameter | Keyword Search Baseline | Esaholic Architecture | Measured Improvement |
|---|---|---|---|
| Answer Relevance (NDCG@10) | 0.54 NDCG | 0.94 NDCG | +74.1% Precision Improvement |
| Vector Query Latency (p95) | 1,850ms | 165ms | 11.2x Faster Response |
| Hallucination Deflection Rate | 24.5% Hallucination Rate | 0.6% Hallucination Rate | 97.5% Reduction in Errors |
| Security Trimming Latency | 450ms Post-Filter | 14ms Qdrant Payload Filter | 32x Faster ACL Evaluation |
Security Controls & Data Isolation
Qdrant Payload ACL Trimming
Enforces document security permissions directly inside Qdrant vector index payload filters before returning top candidates.
VPC-Isolated Qdrant Deployment
Qdrant vector clusters and Cohere Rerank models run inside private client subnets with zero external Internet access.
Zero Data Retention (ZDR)
All document embeddings and text chunks stay locked within client-controlled database clusters under Zero Data Retention.
Related Engineering Services & Glossary References
Frequently Asked Questions
How does the search system enforce document access permissions for different user roles?↓
Every document chunk indexed in Qdrant contains payload metadata lists of authorized Azure AD user/group IDs. During search execution, Qdrant payload filters enforce strict security trimming before vector scoring occurs.
Why combine dense vector retrieval with Cohere Rerank v3 and GraphRAG?↓
Dense vector search retrieves top 100 candidate chunks by semantic similarity, Cohere Rerank v3 re-scores results based on cross-attention context relevance, and GraphRAG resolves entity relationships across isolated documents.
How are internal data connectors synchronized across SharePoint and Confluence?↓
Incremental ingestion pipelines run via periodic webhooks, generating chunk delta embeddings and updating Qdrant collection payloads in sub-second background routines.
Can the enterprise search platform operate on fully air-gapped infrastructure?↓
Yes. The entire stack—including Qdrant vector database nodes, Cohere Rerank local ONNX models, and local LLM inference engines—deploys entirely within client-managed private clouds under Zero Data Retention.
Build an Enterprise Search & Knowledge Engine
Schedule a search architecture audit with Founder & Principal AI Architect Umar Abbas.
Request Search Audit