2023-03-04 13:00:46 +00:00
|
|
|
# Search Service
|
|
|
|
|
|
|
|
This service handles search traffic and is the service
|
|
|
|
you're most directly interacting with when visiting
|
|
|
|
[search.marginalia.nu](https://search.marginalia.nu).
|
|
|
|
|
2023-03-22 15:59:38 +00:00
|
|
|
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.
|
|
|
|
|
2023-03-22 16:02:03 +00:00
|
|
|
|
2023-03-25 15:32:10 +00:00
|
|
|

|
2023-03-22 16:02:03 +00:00
|
|
|
|
2023-03-04 13:00:46 +00:00
|
|
|
## Central classes
|
|
|
|
|
2024-02-27 20:15:49 +00:00
|
|
|
* [SearchService](java/nu/marginalia/search/SearchService.java) receives requests and delegates to the
|
2023-03-04 13:00:46 +00:00
|
|
|
appropriate services.
|
|
|
|
|
2024-02-27 20:15:49 +00:00
|
|
|
* [CommandEvaluator](java/nu/marginalia/search/command/CommandEvaluator.java) interprets a user query and acts
|
2023-03-04 13:00:46 +00:00
|
|
|
upon it, dealing with special operations like `browse:` or `site:`.
|
|
|
|
|
2024-02-27 20:15:49 +00:00
|
|
|
* [SearchQueryIndexService](java/nu/marginalia/search/svc/SearchQueryIndexService.java) passes a parsed search query to the index service, and
|
2023-03-04 13:00:46 +00:00
|
|
|
then decorates the search results so that they can be rendered.
|
2023-03-13 16:39:53 +00:00
|
|
|
|
|
|
|
## See Also
|
|
|
|
|
2023-03-22 15:59:38 +00:00
|
|
|
* [features-search](../../features-search/)
|