Search backend: mint SearchClient and use it for streaming API
Created by: camdencheek
This creates a new SearchClient
type and puts it to use in the streaming API.
This PR is simultaneously a big deal because it completely cuts the dependency
between streaming search and searchResolver
. The only dependencies on
graphqlbackend for the streaming API are now DecodedViewerFinalSettings
and LogSearchLatency
. I tried to pull DecodedViewerFinalSettings
out
into a graphql-independent function, but it is very deeply ingrained and I'm not
up for that task right now.
Test plan
Covered by integration tests with some manual testing to make me feel better.