CatgirlIntelligenceAgency/code/services-application/search-service
Viktor Lofgren f655ec5a5c (*) Refactor GeoIP-related code
In this commit, GeoIP-related classes are refactored and relocated to a common library as they are shared across multiple services.

The crawler is refactored to enable the GeoIpBlocklist to use the new GeoIpDictionary as the base of its decisions.

The converter is modified ot query this data to add a geoip:-keyword to documents to permit limiting a search to the country of the hosting server.

The commit also adds due BY-SA attribution in the search engine footer for the source of the IP geolocation data.
2023-12-10 17:30:43 +01:00
..
src (*) Refactor GeoIP-related code 2023-12-10 17:30:43 +01:00
build.gradle (search) Optimize related domains queries 2023-12-05 20:12:03 +01:00
readme.md (refactor) Remove features-search and update documentation 2023-10-09 15:12:30 +02: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