1d34224416
Look, this will make the git history look funny, but trimming unnecessary depth from the source tree is a very necessary sanity-preserving measure when dealing with a super-modularized codebase like this one. While it makes the project configuration a bit less conventional, it will save you several clicks every time you jump between modules. Which you'll do a lot, because it's *modul*ar. The src/main/java convention makes a lot of sense for a non-modular project though. This ain't that. |
||
---|---|---|
.. | ||
java/nu/marginalia/search | ||
resources | ||
test/nu/marginalia | ||
build.gradle | ||
readme.md |
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.
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:
orsite:
. -
SearchQueryIndexService passes a parsed search query to the index service, and then decorates the search results so that they can be rendered.