Marginalia Search migra a systemd, añade consultas sin ranking y acelera su rastreador

Fuentes: Marginalia Search migrates to systemd, adds unranked queries and faster crawls

Marginalia Search, el buscador independiente orientado a contenidos no comerciales, ha introducido tres mejoras operativas que afectan a su infraestructura, su API y su rastreador web.

En primer lugar, el sistema ha abandonado Docker Compose en producción y ahora se ejecuta sobre systemd directamente. El cambio responde a limitaciones reales del entorno: un servidor con arquitectura NUMA de doble CPU y banco de memoria propio, procesos de larga duración con ciclos de vida heterogéneos y un rastreador que opera desde una docena de direcciones IP públicas mediante ipvlan en espacios de nombres de red. El modelo de red de Docker no encajaba bien con estas necesidades, especialmente porque no permite fijar reglas de firewall sobre la interfaz ipvlan. Con systemd se mantienen ventajas como comprobaciones de estado y reinicios automáticos, los despliegues son más rápidos y la compilación tarda entre 2 y 3 segundos.

En segundo lugar, el índice incorpora un nuevo endpoint de consultas sin ranking, diseñado para búsquedas donde no hace falta ordenar resultados, como las consultas de backlinks 'site:foo.com links:bar.com'. Estas peticiones ejecutan intersecciones de términos sin fases de ranking y se completan en unos 5 milisegundos, frente a tiempos un orden de magnitud mayores en el camino tradicional. Además, un cursor codificado en base 36 con un carácter por partición permite recuperaciones exhaustivas a lo largo de varias particiones del índice.

Por último, el rastreador se ha reorganizado para combatir un cuello de botella causado por la distribución de Pareto de los subdominios y la cortesía obligatoria con sitios como Substack, Medium, WordPress o GitHub Pages. Los dominios amplios se han movido a una partición dedicada con rastreo semanal limitado en el tiempo, lo que ha reducido la duración del rastreo principal de casi dos semanas a unos cinco días por partición.