pub trait OpenSearchAdapter: TypedQueryBoundary<Request = SearchRequest, Response = SearchResponse> {
// Provided methods
fn search(
&self,
request: SearchRequest,
context: &QueryContext,
) -> IntegrationResult<SearchResponse> { ... }
fn search_window(
&self,
request: SearchRequest,
window: DataWindowRequest,
context: &QueryContext,
) -> IntegrationResult<DataWindowResponse> { ... }
}