MarginaliaSearch/code/services-core/query-service
Viktor Lofgren 32fe864a33 (build) Java 22 and its consequences has been a disaster for Marginalia Search
Roll back to JDK 21 for now, and make Java version configurable in the root build.gradle

The project has run into no less than three distinct show-stopping bugs in JDK22, across multiple vendors, and gradle still doesn't fully support it, meaning you need multiple JDK versions installed.
2024-04-24 14:44:39 +02:00
..
java/nu/marginalia/query (qs) Additional info in query debug UI 2024-04-24 14:44:39 +02:00
resources (qs) Additional info in query debug UI 2024-04-24 14:44:39 +02:00
build.gradle (build) Java 22 and its consequences has been a disaster for Marginalia Search 2024-04-24 14:44:39 +02:00
readme.md (docs) Begin un-fucking the docs after refactoring 2024-02-27 21:22:21 +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.

Central Classes

This module is almost entirely boilerplate, except the QueryBasicInterface class, which offers a REST API for querying the index.

Much of the guts of the query service are in the query-service module; which offers query parsing and an interface to the index service partitions.