MarginaliaSearch/code/features-index/index-query
Viktor Lofgren 0307c55f9f (refac) Zookeeper for service-discovery, kill service-client lib (WIP)
To avoid having to either hard-code or manually configure service addresses (possibly several dozen), and to reduce the project's dependency on docker to deal with routing and discovery, the option to use [Zookeeper](https://zookeeper.apache.org/) to manage services and discovery has been added.

A service registry interface was added, with a Zookeeper implementation and a basic implementation that only works on docker and hard-codes everything.

The last remaining REST service, the assistant-service, has been migrated to gRPC.

This also proved a good time to clear out primordial technical debt from the root of the codebase.  The 'service-client' library has been taken behind the barn and given a last farewell.  It's replaced by a small library for managing gRPC channels.

Since it's no longer used by anything, RxJava has been removed as a dependency from the project.

Although the current state seems reasonably stable, this is a work-in-progress commit.
2024-02-20 11:41:14 +01:00
..
src (refac) Zookeeper for service-discovery, kill service-client lib (WIP) 2024-02-20 11:41:14 +01:00
build.gradle (build) Move unit test configuration to root build.gradle 2023-10-04 12:46:22 +02:00
readme.md (index-query) Improve documentation and code quality 2024-02-15 11:33:50 +01:00

Index Query

Contains interfaces and primitives for creating and evaluating queries against the indices.

Central to interacting with the query interface is the IndexQuery class. This class is used to create and evaluate queries against the index. The class will fill a LongQueryBuffer with the results of the query.

This is a relatively light library consisting of a few classes and interfaces. Many of the interfaces are implemented within the index-service module.

Central Classes

See Also