MarginaliaSearch/code/services-application/search-service
Viktor Lofgren 4772e0b59d (service) Deprecate /public prefix on HTTP
Before the gRPC migration, the system would serve both public and internal requests over HTTP, but distinguish the two using path prefixes and a few HTTP Headers (X-Public, X-Context) added by the reverse proxy to prevent misconfigurations.

Since internal requests meaningfully no longer use HTTP, this convention is just an obstacle now, adding the need to always run the system behind a reverse proxy that rewrites the paths.

The change removes the path prefix, and updates the docker templates to reflect the change.  This will require a migration for existing systems.
2024-04-30 14:46:18 +02:00
..
java/nu/marginalia/search (service) Deprecate /public prefix on HTTP 2024-04-30 14:46:18 +02:00
resources Update keywords docs use of explore to browse 2024-04-01 00:04:12 -05:00
test/nu/marginalia (qs) Retire NGramBloomFilter, integrate new segmentation model instead 2024-04-24 14:44:17 +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

Search Service

This service handles search traffic and is the service you're most directly interacting with when visiting search.marginalia.nu.

It interprets a "human" query and translates it into a request that gets passed into to the index service, which finds related documents, which this service then ranks and returns to the user.

image

Central classes

  • SearchService receives requests and delegates to the appropriate services.

  • CommandEvaluator interprets a user query and acts upon it, dealing with special operations like browse: or site:.

  • SearchQueryIndexService passes a parsed search query to the index service, and then decorates the search results so that they can be rendered.

See Also