CatgirlIntelligenceAgency/code/services-core/query-service
Viktor e8de468b0b
Make executor API talk GRPC (#75)
* (executor-api) Make executor API talk GRPC

The executor's REST API was very fragile and annoying to work with, lacking even basic type safety.  Migrate to use GRPC instead.  GRPC is a bit of a pain with how verbose it is, but that is probably a lesser evil.  This is a fairly straightforward change, but it's also large so a solid round of testing is needed...

The change set breaks out the GrpcStubPool previously residing in the QueryService, and makes it available to all clients.

ServiceId.name was also renamed to avoid the very dangerous clash with Enum.name().

The boilerplate needed for grpc was also extracted into a common gradle file for inclusion into the appropriate build.gradle-files.
2024-02-08 13:01:12 +01:00
..
src Make executor API talk GRPC (#75) 2024-02-08 13:01:12 +01:00
build.gradle (*) Add a barebones configuration 2024-01-10 20:23:51 +01:00
readme.md (doc) Update docs 2024-02-06 12:41:28 +01:00

The query service parses search queries and delegates work to the index services.

The index-service speaks a lower level query specification language that is difficult to build an application out of. The query service exists as an interpreter to that format.

Web Interface

The query service also offers a basic web interface for testing queries, or running the search engine as a white-label service without all the Marginalia Search specific stuff. This mode of operations is available through a barebones install.

The web interface also offers a JSON API for machine-based queries.

Main Classes

See Also