B.index Server 3 [exclusive] -
In the architecture of Bentley’s infrastructure design software, the "b.index" component is a critical background service often misunderstood by general IT administrators but essential for the performance of Computer-Aided Design (CAD) operations.
Here is a complete technical look into the Bentley Index Server (b.index), its architecture, function, and troubleshooting.
3.4 Vector-Aware Caching
BIS3 caches query results in three layers: b.index server 3
- Posting list cache (LRU, term → doc IDs).
- Vector cache (approximate nearest neighbor search results per query embedding).
- Page cache (mmapped index files).
Cache coherence uses vector clocks, not global invalidation.
2. Caching Layers
Enable both query result cache (for identical searches) and filter cache (for faceted fields). Posting list cache (LRU, term → doc IDs)
curl -X PUT "http://localhost:8080/v3/config/caching" -d '"query_cache_size_mb":2048, "filter_cache_enabled":true'
Monitoring and Logging
b.index Server 3 exposes metrics via Prometheus endpoint (/metrics) and structured logs in JSON format.
4. Memory-Mapped I/O and Off-Heap Storage
Performance bottlenecks from garbage collection have been virtually eliminated. The b.index server 3 leverages memory-mapped files and off-heap storage, keeping hot index segments in RAM while cold segments live on NVMe drives. Cache coherence uses vector clocks
4. Native Vector Search (b.vec)
With the rise of generative AI, b.index Server 3 integrates a vector index module (b.vec) that supports approximate nearest neighbor (ANN) searches on embeddings. This allows semantic search and RAG (Retrieval-Augmented Generation) pipelines to coexist with keyword search in a single server.
Key Components:
- Query Router: Parses incoming search queries (JSON over HTTP/gRPC) and routes to the least-loaded node.
- Indexing Manager: Handles document ingestion, tokenization, and segment writing.
- Segment Store: Immutable index segments stored on local SSD or remote object storage (S3/GCS).
- Write-Ahead Log (WAL) : Ensures durability and crash recovery.
2. Real-Time Index Mutation
Unlike its predecessors which required batch rebuilds, b.index server 3 introduces live segment merging. New documents can be indexed instantly while older segments are optimized in the background—zero downtime.