Search API Synonym
Permite a los editores y administradores gestionar sinónimos de búsqueda y correcciones ortográficas directamente en Drupal, con soporte para funcionalidad de importación/exportación.
search_api_synonym
Instalar
composer require 'drupal/search_api_synonym:^2.0'
Overview
Search API Synonym proporciona una solución integral para gestionar sinónimos de búsqueda y correcciones de errores ortográficos dentro de Drupal. El módulo crea un tipo de entidad de contenido personalizado para almacenar definiciones de sinónimos, que puede usarse con backends de búsqueda como Apache Solr.
Los administradores pueden crear entradas de sinónimos que asocian una palabra con sinónimos relacionados o corrigen errores ortográficos comunes. El módulo admite tanto la entrada manual a través de una interfaz administrativa como la importación masiva desde archivos externos en múltiples formatos, incluyendo synonyms.txt de Solr, CSV y JSON.
Los archivos de sinónimos exportados pueden generarse mediante comandos Drush, comandos de Drupal Console o trabajos cron automatizados. El formato de exportación de Solr es compatible con la configuración synonyms.txt de Apache Solr, facilitando el despliegue de sinónimos en tu infraestructura de búsqueda.
Features
- Tipo de entidad Synonym personalizado con campos para palabra, sinónimos, tipo (sinónimo o error ortográfico), idioma y estado activo
- Interfaz administrativa con listado basado en Views, filtrado por palabra, sinónimos, tipo, estado e idioma
- Funcionalidad de importación que soporta múltiples formatos de archivo: synonyms.txt de Solr, CSV con delimitadores configurables y JSON
- Funcionalidad de exportación al formato synonyms.txt compatible con Solr con soporte para archivos específicos por idioma
- Comando Drush (search-api-synonym:export) para exportaciones de sinónimos desde línea de comandos
- Comando Drupal Console (searchapi:synonym:export) para exportaciones
- Exportación automática basada en cron con intervalos configurables y opciones de exportación incremental
- Soporte para sinónimos con y sin espacios, exportables a archivos separados
- Integración con Views con manejadores completos de campos, filtros y ordenación
- Soporte multilingüe con definiciones de sinónimos por idioma
- Sistema de plugins que permite a los desarrolladores añadir formatos de importación y exportación personalizados
- Hook para reaccionar cuando se guardan archivos de sinónimos (hook_search_api_synonym_synonyms_file_saved)
Use Cases
Mejora de búsqueda en comercio electrónico
Crea sinónimos para categorías de productos y terminología común. Por ejemplo, 'portátil' podría ser sinónimo de 'laptop', 'ordenador portátil'. Esto asegura que los clientes encuentren productos independientemente del término específico que busquen.
Corrección de errores ortográficos
Define errores ortográficos comunes que deben corregirse durante la búsqueda. Por ejemplo, 'recivir' => 'recibir' o 'havitación' => 'habitación'. El tipo de error ortográfico usa mapeos de reemplazo para que las búsquedas de palabras mal escritas devuelvan resultados de la ortografía correcta.
Gestión de sinónimos multilingüe
Para sitios multilingües, crea conjuntos de sinónimos específicos por idioma. Los sinónimos en español pueden gestionarse por separado del inglés, con cada idioma exportándose a su propio archivo de sinónimos para el core o colección de Solr apropiado.
Búsqueda en documentación técnica
En sitios de documentación técnica, crea sinónimos para abreviaturas y términos completos. Por ejemplo, 'API' podría ser sinónimo de 'Application Programming Interface', y 'REST' con 'Representational State Transfer'.
Despliegue automatizado a Solr
Configura la exportación basada en cron para generar automáticamente archivos de sinónimos actualizados. Usa el hook hook_search_api_synonym_synonyms_file_saved para desplegar automáticamente el archivo a tu servidor Solr cuando se detecten cambios.
Importación masiva de sinónimos desde sistemas existentes
Usa la funcionalidad de importación para migrar sinónimos desde un archivo synonyms.txt de Solr existente, una exportación CSV de otro sistema, o un archivo JSON de una base de datos de sinónimos. La opción de combinar permite mezclar sinónimos importados con entradas existentes.
Tips
- Usa la opción 'Archivos separados' al exportar a Solr si tienes sinónimos de una sola palabra y de múltiples palabras, ya que Solr puede manejarlos de manera diferente dependiendo de la configuración de tu tokenizador.
- Para conjuntos grandes de sinónimos, usa la opción 'Solo exportar si hay cambios' para evitar regeneración innecesaria de archivos durante las ejecuciones de cron.
- Al importar desde CSV, usa punto y coma como delimitador si tus valores de sinónimo contienen comas para evitar problemas de análisis.
- El hook hook_search_api_synonym_synonyms_file_saved es ideal para integrarse con pipelines de despliegue para enviar automáticamente archivos de sinónimos a servidores Solr remotos.
- Usa la opción de exportación incremental en comandos Drush para exportaciones más rápidas cuando solo compruebes cambios recientes.
- Considera crear entradas de sinónimos separadas para cada dirección si se necesitan sinónimos bidireccionales, ya que el formato Solr trata cada línea como su propio mapeo.
Technical Details
Admin Pages 6
/admin/config/search/search-api-synonyms
Página principal de administración para gestionar sinónimos de búsqueda. Muestra una tabla basada en Views que lista todos los sinónimos con columnas para palabra, sinónimos, tipo, idioma, autor, estado y fecha de última actualización. Incluye filtros expuestos para buscar y filtrar la lista.
/admin/config/search/search-api-synonyms/add
Formulario para crear una nueva entrada de sinónimo. Permite especificar la palabra, sus sinónimos, tipo (sinónimo o error ortográfico), idioma y estado activo.
/admin/config/search/search-api-synonyms/{search_api_synonym}/edit
Formulario para editar una entrada de sinónimo existente. Mismos campos que el formulario de añadir.
/admin/config/search/search-api-synonyms/settings
Configura la exportación automática de sinónimos basada en cron. Los ajustes controlan con qué frecuencia se ejecutan las exportaciones, qué formato de plugin usar y opciones de filtrado.
/admin/config/search/search-api-synonyms/import
Formulario para importación masiva de sinónimos desde archivos externos. Soporta múltiples formatos de archivo y proporciona opciones para manejar sinónimos existentes.
/admin/config/search/search-api-synonyms/delete-all
Formulario de confirmación para eliminar todas las entradas de sinónimos. Esta acción no puede deshacerse.
Permisos 4
Hooks 1
hook_search_api_synonym_synonyms_file_saved
Se invoca después de que un archivo de sinónimos ha sido guardado durante la exportación. Permite a los módulos reaccionar a cambios de archivos, por ejemplo para desplegar el archivo a un servidor de búsqueda.
Drush Commands 1
drush search-api-synonym:export
Exporta sinónimos de búsqueda a un archivo en el formato especificado. Soporta filtrado por idioma, tipo y espaciado de palabras.
Troubleshooting 5
Verifica que el directorio de exportación existe y es escribible. Comprueba la configuración 'Ubicación de exportación de archivo' en /admin/config/search/search-api-synonyms/settings. La ubicación por defecto es 'public://synonyms'. Asegúrate de que el servidor web tiene permisos de escritura en este directorio.
Verifica que la configuración 'Exportar sinónimos cada' no está establecida en 'Nunca'. Verifica que cron se está ejecutando en tu sitio. Si usas 'Solo exportar si hay cambios', asegúrate de que realmente hay sinónimos nuevos o modificados desde la última exportación.
Verifica que la extensión del archivo coincide con el plugin de importación seleccionado (txt para Solr, csv/txt para CSV, json para JSON). Comprueba los límites de subida de PHP (upload_max_filesize, post_max_size) si el archivo es grande.
Asegúrate de que los sinónimos están marcados como 'activos'. Exporta el archivo de sinónimos y verifica que contiene las entradas esperadas. Despliega el archivo exportado a tu configuración de Solr y recarga el core/colección de Solr.
Los errores ortográficos usan formato de mapeo de reemplazo (error => correcto). Verifica que tu esquema de Solr está configurado para usar el archivo de sinónimos en la cadena de analizador apropiada, típicamente en el analizador de consultas.
Security Notes 3
- La funcionalidad de importación permite subida de archivos - asegúrate de que el permiso 'import search api synonyms' solo se otorgue a usuarios de confianza.
- El módulo valida extensiones de archivo durante la importación basándose en el plugin seleccionado para prevenir la subida de tipos de archivo no autorizados.
- Los archivos de sinónimos exportados se guardan en el directorio de archivos públicos por defecto - considera usar un directorio privado si los datos de sinónimos no deben ser accesibles públicamente.