Routes

ProtocolAddressJARProvider
urlurl://searchable-bucket/searchable-bucket-service-server.jardanger_jarfile

Repositories

RepositoryLayerDescription
SearchableBucketApiapiInterface and data types defining the service contract
SearchableBucketEmbeddedembeddedIn-process implementation: append-only event log plus an Apache Lucene index
SearchableBucketServiceServerserviceserverHosts url://searchable-bucket/ and serves the SJVM client bytecode
SearchableBucketClicliCommand-line client
SearchableBucketHealthCheckhealthcheckProductionHealth probe for the service
SearchableBucketApiClientotherDeprecated HTTP client, replaced by connecting over url:// through UrlResolver

Depends on

Documentation Edit this page

Searchable Bucket

Searchable object storage service.

Description

Provides searchable storage for objects and documents. Allows storing, retrieving, and searching through stored items via the url:// protocol.

Architecture

Follows the standard layered architecture: the Api holds the contract, the Embedded holds the domain logic, and the ServiceServer exposes it at url://searchable-bucket/. The Embedded keeps documents in an append-only event log and indexes them with Apache Lucene, so a bucket's contents are rebuilt by replaying the log and searched through the index. Search results identify the matching documents and carry their stored resultJson; there is no snippet or highlighter, so a caller that wants to show context around a match holds the document text itself.

Dependents

Deployment

Deployed as searchable-bucket-service-server.jar on ContainerNursery, registered at url://searchable-bucket/.

Health Checks

The service is lazily started, so a scheduled probe almost always arrives at a cold container and waits on a JVM plus a Lucene index boot. The check therefore treats its first call as a wake-up and retries it until the container answers, rather than reporting the cold start as a failure.

Notes

Read at commit 45ba0b30ed3b