pub enum SearchEngineBackend {
Elasticsearch(ElasticSearchEngine<ElasticSearchParameterResolver<PGConnection>>),
Postgres(PgSearchEngine<PgSearchParameterResolver<PGConnection>>),
}Expand description
A configured search engine.
The concrete engines differ in their resolver type, so a caller holding one generically would have to thread that type everywhere. This dispatches instead, which is what lets the server and the worker switch backends by configuration alone.
Variants§
Elasticsearch(ElasticSearchEngine<ElasticSearchParameterResolver<PGConnection>>)
Postgres(PgSearchEngine<PgSearchParameterResolver<PGConnection>>)
Implementations§
Source§impl SearchEngineBackend
impl SearchEngineBackend
Sourcepub async fn is_connected(&self) -> Result<(), OperationOutcomeError>
pub async fn is_connected(&self) -> Result<(), OperationOutcomeError>
Whether the backend is reachable, for a caller that waits on it at startup.
§Errors
Returns an error if the backend cannot be reached.
Trait Implementations§
Source§impl Clone for SearchEngineBackend
impl Clone for SearchEngineBackend
Source§impl SearchEngine for SearchEngineBackend
impl SearchEngine for SearchEngineBackend
async fn search( &self, fhir_version: &SupportedFHIRVersions, tenant: &TenantId, project: &ProjectId, search_request: &SearchRequest, options: Option<SearchOptions>, ) -> Result<SearchReturn, OperationOutcomeError>
async fn index( &self, fhir_version: SupportedFHIRVersions, resource: Vec<IndexResource>, ) -> Result<IndexOutcome, OperationOutcomeError>
async fn migrate( &self, fhir_version: &SupportedFHIRVersions, ) -> Result<(), OperationOutcomeError>
Auto Trait Implementations§
impl !RefUnwindSafe for SearchEngineBackend
impl !UnwindSafe for SearchEngineBackend
impl Freeze for SearchEngineBackend
impl Send for SearchEngineBackend
impl Sync for SearchEngineBackend
impl Unpin for SearchEngineBackend
impl UnsafeUnpin for SearchEngineBackend
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more