MarginaliaSearch/code/services-application/search-service
Viktor Lofgren aebb2652e8 (wip) Extract and encode spans data
Refactoring keyword extraction to extract spans information.

Modifying the intermediate storage of converted data to use the new slop library, which is allows for easier storage of ad-hoc binary data like spans and positions.

This is a bit of a katamari damacy commit that ended up dragging along a bunch of other fairly tangentially related changes that are hard to break out into separate commits after the fact.  Will push as-is to get back to being able to do more isolated work.
2024-07-27 11:44:13 +02:00
..
java/nu/marginalia/search (wip) Extract and encode spans data 2024-07-27 11:44:13 +02:00
resources (search) Fix bad practice usage of innerHTML to set what should be text content. 2024-06-12 08:59:40 +02:00
test/nu/marginalia (index) Reduce the number of abstractions around result ranking 2024-07-16 08:18:54 +02:00
build.gradle (*) Lift jetty and guava-dependencies 2024-05-23 14:20:01 +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