pub trait SearchEngine: Send + Sync {
// Required methods
fn search(
&self,
fhir_version: &SupportedFHIRVersions,
tenant: &TenantId,
project: &ProjectId,
search_request: &SearchRequest,
options: Option<SearchOptions>,
) -> impl Future<Output = Result<SearchReturn, OperationOutcomeError>> + Send + Sync;
fn index(
&self,
fhir_version: &SupportedFHIRVersions,
tenant: &TenantId,
resource: Vec<IndexResource<'_>>,
) -> impl Future<Output = Result<SuccessfullyIndexedCount, OperationOutcomeError>> + Send + Sync;
fn migrate(
&self,
fhir_version: &SupportedFHIRVersions,
) -> impl Future<Output = Result<(), OperationOutcomeError>> + Send + Sync;
}Required Methods§
fn search( &self, fhir_version: &SupportedFHIRVersions, tenant: &TenantId, project: &ProjectId, search_request: &SearchRequest, options: Option<SearchOptions>, ) -> impl Future<Output = Result<SearchReturn, OperationOutcomeError>> + Send + Sync
fn index( &self, fhir_version: &SupportedFHIRVersions, tenant: &TenantId, resource: Vec<IndexResource<'_>>, ) -> impl Future<Output = Result<SuccessfullyIndexedCount, OperationOutcomeError>> + Send + Sync
fn migrate( &self, fhir_version: &SupportedFHIRVersions, ) -> impl Future<Output = Result<(), OperationOutcomeError>> + Send + Sync
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.