CatgirlIntelligenceAgency/code/services-core
Viktor Lofgren 467ba5be20 (index-construction) Split repartition into two actions
This change splits the previous 'repartition' action into two steps, one for recalculating the domain rankings, and one for recalculating the other ranking sets.  Since only the first is necessary before the index construction, the rest can be delayed until after...

To avoid issues in handling the shotgun blast of MqNotifications, Service was switched over to use a synchronous message queue instead of an asynchronous one.

The change also modifies the behavior so that only node 1 will push the changes to the EC_DOMAIN database table, to avoid unnecessary db locks and contention with the loader.

Additionally, the change fixes a bug where the index construction code wasn't actually picking up the rankings data.

Since the index construction used to be performed by the index-service, merely saving the data to memory was enough for it to be accessible within the index-construction logic, but since it's been broken out into a separate process, the new process just injected an empty DomainRankings object instead.

To fix this, DomainRankings can now be persisted to disk, and a pre-loaded version of the object is injected into the index-construction process.
2024-02-06 17:20:07 +01:00
..
assistant-service (*) install script for deploying Marginalia outside the codebase 2024-01-11 12:40:03 +01:00
control-service (control) Add configurable border styling 2024-02-06 12:05:02 +01:00
executor-service (index-construction) Split repartition into two actions 2024-02-06 17:20:07 +01:00
index-service (index-construction) Split repartition into two actions 2024-02-06 17:20:07 +01:00
query-service (doc) Update docs 2024-02-06 12:41:28 +01:00
readme.md (refactor) Move search service into services-satellite 2023-10-09 13:40:01 +02:00

Core Services

The cores services constitute the main functionality of the search engine, relatively agnostic to the Marginalia application.

  • The index-service contains the indexes, it answers questions about which documents contain which terms.

  • The query-service Interprets queries and delegates work to index-service.

  • The control-service provides an operator's user interface, and is responsible for orchestrating the various processes of the system.

  • The assistant-service helps the search service with spelling suggestions other peripheral functionality.