Expand description
A search backend over resources held in memory: the ones the server ships
rather than stores, which no index holds. Parameters get the semantics the
Postgres and Elasticsearch backends give them; what only a query can do
(follow a chain, _sort) is refused as not supported.
A search is a pipeline of pure functions over a snapshot of the resources:
the parameters become criteria and a page, each resource is tested against
the criteria, and the page is cut from the matches. Only evaluating a
parameter’s FHIRPath expression is async, so the pass over the resources
goes through the small async combinators at the end of this file. They
take an async fn and its context rather than a closure: a closure held
across an await can’t be proven Send (rust-lang/rust#102211).
Structs§
- Memory
Search - Resources held at the system level: the same in every tenant and project.