Skip to main content

SearchEngine

Trait SearchEngine 

Source
pub trait SearchEngine: Send + Sync {
    // Required methods
    fn search(
        &self,
        fhir_version: &SupportedFHIRVersions,
        tenant: &TenantId,
        projects: &ProjectId,
        search_request: &SearchRequest,
        options: Option<SearchOptions>,
    ) -> impl Future<Output = Result<SearchReturn, OperationOutcomeError>> + Send;
    fn index(
        &self,
        fhir_version: SupportedFHIRVersions,
        resource: Vec<IndexResource>,
    ) -> impl Future<Output = Result<IndexOutcome, OperationOutcomeError>> + Send;
    fn migrate(
        &self,
        fhir_version: &SupportedFHIRVersions,
    ) -> impl Future<Output = Result<(), OperationOutcomeError>> + Send;
}

Required Methods§

Source

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

Source

fn index( &self, fhir_version: SupportedFHIRVersions, resource: Vec<IndexResource>, ) -> impl Future<Output = Result<IndexOutcome, OperationOutcomeError>> + Send

Source

fn migrate( &self, fhir_version: &SupportedFHIRVersions, ) -> impl Future<Output = Result<(), OperationOutcomeError>> + Send

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl SearchEngine for MemorySearch

Source§

impl SearchEngine for SearchEngineBackend

Source§

impl<SearchParameterResolver: SearchParameterResolve> SearchEngine for ElasticSearchEngine<SearchParameterResolver>

Source§

impl<SearchParameterResolver: SearchParameterResolve> SearchEngine for PgSearchEngine<SearchParameterResolver>