Empieza el adviento de Iedra

Aunque este blog lleva años sin actualizarse, Iedra ha seguido recibiendo pequeñas mejoras con los años: nuevos diccionarios como el de Manuel Seco, correcciones y ajustes varios. Pero la infraestructura técnica que lo sostenía lleva muchísimo tiempo peligrosamente anticuada, así que ha llegado el momento de hacer esa tarea ingrata pero inevitable: renovar los cimientos antes de que todo se derrumbe.

Con el trabajo de actualización ya hecho, me apetecía celebrarlo de alguna forma. Así se me ocurrió hacer este año un adviento de Iedra: durante diciembre iré presentando cada día alguna pequeña novedad.

1 de diciembre: nuevo stack técnico

La primera novedad es, paradójicamente, invisible para la mayoría de usuarios: la renovación de la infraestructura técnica.

Por qué esto importa

Iedra llevaba funcionando desde 2012 con un stack tecnológico que se había quedado muy atrás. El servidor corría sobre Ubuntu 12.04.5, una versión que dejó de recibir actualizaciones de seguridad hace años. Las librerías de Python y JavaScript que usaba estaban obsoletas, algunas sin mantenimiento activo, y con vulnerabilidades de seguridad conocidas.

Esta deuda técnica tenía consecuencias prácticas: era difícil añadir funcionalidades nuevas sin romper algo, y cada vez que me planteaba una mejora, el esfuerzo de mantener el sistema funcionando superaba al de implementar la mejora en sí.

Qué ha cambiado

He reconstruido Iedra desde los cimientos. Lo más visible:

  • Adiós a jQuery: He eliminado jQuery y jQuery UI completamente. El JavaScript de Iedra ahora es vanilla JS, sin dependencias externas. Menos código que cargar, menos cosas que pueden fallar.
  • Sistema operativo actualizado: De Ubuntu 12.04 (sin soporte desde 2017) a un sistema moderno con parches de seguridad al día.

Lo menos visible pero igual de importante:

  • Motor de búsqueda: De Solr 4 + MongoDB a Elasticsearch 9.1. Búsquedas más rápidas y un sistema de indexación mucho más sencillo de mantener.
  • Python y Flask: De Python 2.7 y Flask 1.0 a Python 3.14 y Flask 3.0. El salto de Python 2 a 3 era inevitable; el ecosistema de Python 2 está esencialmente muerto.
  • Infraestructura como código: Docker y Docker Compose para despliegues reproducibles. Ya no hay que recordar qué comandos ejecutar en qué orden.
  • Redis: Nueva capa de caché con Redis Stack para operaciones que requieren respuestas instantáneas.

El resultado es un sistema más fácil de mantener y, sobre todo, de extender. Las próximas novedades que vaya publicando durante este adviento serán posibles precisamente gracias a estos cimientos.

2 de diciembre: búsqueda avanzada

La búsqueda básica de Iedra es útil para consultas rápidas, pero a veces necesitas más control. Por ejemplo: ¿Qué palabras esdrújulas terminan en -fago? ¿Qué americanismos aparecieron por primera vez en el diccionario en el siglo XVIII? ¿Qué palabras de origen árabe tienen más de tres sílabas?

Técnicamente, ese control ya existía: Iedra usa el formato simple query string de Elasticsearch, que permite escribir búsquedas con operadores directamente en la caja de texto (+ para AND, | para OR, - para excluir, comillas para frases exactas…). Pero es un uso avanzado que requiere conocer la sintaxis, así que para la mayoría de usuarios será más cómodo usar una interfaz de filtros.

La nueva búsqueda avanzada ofrece esa interfaz, con los siguientes filtros:

  • Ámbito de búsqueda: Buscar solo en el lema, solo en la definición, solo en la etimología, o en todo.
  • Patrones: El lema empieza por, termina en, o contiene una secuencia de letras.
  • Longitud y sílabas: Filtrar por número de letras o de sílabas.
  • Acepciones: Encontrar palabras con muchas acepciones (las polisémicas) o con pocas.
  • Año de primera aparición: Desde qué edición del diccionario de la RAE está documentada la palabra.
  • Acentuación: Agudas, llanas, esdrújulas o adverbios en -mente.
  • Frecuencia de uso: Desde palabras muy frecuentes hasta las más raras, usando datos del CORPES (corpus académico de la RAE) o de Google Books.
  • Diccionarios: Buscar en el DLE, Moliner, Seco, DPD, o en varios a la vez.
  • Marcas: Filtrar por marcas geográficas (México, Argentina…), de registro (coloquial, vulgar…) o de disciplina (Medicina, Derecho…).
  • Origen etimológico: Palabras que vienen del latín, del árabe, del náhuatl, del inglés…

Todos estos filtros se pueden combinar entre sí. Por ejemplo, para encontrar palabras de origen náhuatl que sean poco frecuentes y tengan al menos tres sílabas, basta con seleccionar esos criterios y pulsar buscar.

Para acceder a la búsqueda avanzada, haz clic en el enlace “Búsqueda avanzada” que aparece bajo la caja de búsqueda, tanto en la página principal como en la de resultados.

3 de diciembre: modo oscuro

Hay quien prefiere texto claro sobre fondo oscuro, especialmente de noche o en ambientes con poca luz. Iedra ahora ofrece esa opción.

Por defecto, Iedra detecta la preferencia de tu sistema operativo: si tienes configurado el modo oscuro en tu ordenador o móvil, Iedra lo usará automáticamente. Y si prefieres cambiarlo manualmente, hay un nuevo botón ☀️/🌙 en la esquina superior derecha que te permite alternar entre ambos modos.

La preferencia manual se guarda en tu navegador, así que si eliges un modo distinto al de tu sistema, Iedra lo recordará en futuras visitas.

4 de diciembre: María Moliner horrorizada

Me hacía gracia poner a María Moliner con cara de espanto en las páginas de error. Ahora, si visitas una página que no existe, te acompañará en el disgusto. Me perdonaréis el uso de IA generativa para la imagen; mis dotes xilográficas no alcanzan.

5 de diciembre: marcas secundarias

Las marcas lexicográficas son esas etiquetas que indican el registro, el ámbito geográfico o la disciplina de una palabra: coloquial, México, Medicina, despectivo… Iedra lleva años mostrándolas en la ficha de cada palabra, pero solo las marcas de las acepciones principales del lema.

Lo que no mostraba eran las marcas de las locuciones y combinaciones estables. Por ejemplo, la palabra mano tiene acepciones marcadas como propias de Cuba, Ecuador o Guatemala, pero sus locuciones añaden marcas de Argentina, Chile o Uruguay (correr mano a alguien, pararse de manos…), además de disciplinas como Equitación (abrir la mano al caballo), Esgrima (correr la mano) o Tauromaquia (mano a mano).

Ahora, en la sección de marcas lexicográficas de cada palabra, hay un enlace “(Ver secundarias)” que despliega las marcas de locuciones y combinaciones. Así puedes ver de un vistazo todos los registros y ámbitos de uso de una palabra, no solo los de sus acepciones principales.


Si encuentras algún problema o algo que funcionaba antes y ahora no, escríbeme. Con una migración de esta envergadura siempre hay detalles que se escapan.