Tres bugs corregidos (issue gitea.feadulta.com#178):
- OR implicito en Boolean Mode devolvia casi todo el sitio (~24.700/24.780 posts)
para cualquier busqueda de varias palabras; ahora cada palabra es AND obligatorio (+).
- Paginas-indice residuales K2 (categorias 37/38, listados por autor) puntuaban
altisimo en relevancia por su tamano y tapaban el articulo real; excluidas de
resultados de busqueda.
- Palabras <3 caracteres forzadas como termino obligatorio rompian el calculo de
relevancia (score 0 en filas que si coincidian); se descartan antes de construir
la query.
- Anadido soporte real de frase exacta: termino entre comillas dobles se envia a
MySQL Boolean Mode como frase, en vez de descartarse silenciosamente.
Replica el «Buscador avanzado» del Joomla viejo sin servicios externos:
- fea-search-fulltext.php: motor MySQL FULLTEXT (MATCH AGAINST, Boolean Mode,
orden por relevancia); comprueba que existe el índice fea_ft y degrada al
buscador nativo si no, sin romper.
- fea-search-advanced.php: formulario con filtros por autor, categoría
(lista curada de secciones), cita bíblica (meta _cita_evangelio por prefijo)
y rango de fechas; pre_get_posts, chips de filtros, byline en tarjetas,
i18n es/en/fr/it/pt. Excluye pseudo-autores «Testamento».
- create_buscar_page.php: crea la página /buscar + traducciones (idempotente).
- tools/e2e: suite Playwright de verificación.
Desplegado y verificado en prod (índice fea_ft + página /buscar + traducciones).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>