SearchEngine

Trait SearchEngine 

Source
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§

Source

fn search( &self, fhir_version: &SupportedFHIRVersions, tenant: &TenantId, project: &ProjectId, search_request: &SearchRequest, options: Option<SearchOptions>, ) -> impl Future<Output = Result<SearchReturn, OperationOutcomeError>> + Send + Sync

Source

fn index( &self, fhir_version: &SupportedFHIRVersions, tenant: &TenantId, resource: Vec<IndexResource<'_>>, ) -> impl Future<Output = Result<SuccessfullyIndexedCount, OperationOutcomeError>> + Send + Sync

Source

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.

Implementors§