2. ● GeoNetwork opensource es un catálogo de metadatos geo-espaciales para buscar y describir
datos geográficos.
○ Desarrollado principalmente en Java, XSLT, AngularJs.
○ GitHub: https://github.com/geonetwork/core-geonetwork
○ Comunidad pequeña de desarrolladores. Algunas de las empresas que contribuyen al proyecto:
■ Camptocamp
■ GeoCat
■ titellus
¿Qué es GeoNetwork opensource?
3. ● Soporte de distintos formatos de metadatos: ISO / Dublin Core, etc, basados en XML.
● Soporte de distintos protocolos de búsqueda: OGC CSW, OAI-PMH, API propia, etc.
¿Qué es GeoNetwork opensource?
4. ● Visualización y búsqueda de metadatos
¿Qué es GeoNetwork opensource?
5. ● Visualizador de mapas:
○ Visor basado en OpenLayers para la visualización de los datos geo-espaciales documentados en los
metadatos.
¿Qué es GeoNetwork opensource?
6. ● Gestión de metadatos: edición de metadatos, privilegios, plantillas.
¿Qué es GeoNetwork opensource?
7. ● Módulo de administración: gestión de usuarios / grupos, harvesting, dashboards, etc.
● API basada en Spring MVC
¿Qué es GeoNetwork opensource?
8. ● Motor de búsquedas basado en Lucene 4.7
○ Los filtros espaciales se aplican como un filtro de Lucene usando la librería Geotools.
○ Problemas de escalabilidad horizontal.
○ El API propia de búsquedas que no usa la sintaxis de Lucene.
● Uso (opcional) de ElasticSearch y Kibana para las estadísticas de búsquedas y contenidos.
GeoNetwork 3
9.
10. ● Motor de búsquedas basado en ElasticSearch 7.9.2
● Mejorar la escalabilidad horizontal de la aplicación.
● Se utilizan las capacidades de búsqueda e índice espacial nativas en ElasticSearch.
● La configuración está basada en el API de ElasticSearch y es configurable desde el módulo de
administración:
○ Lista de filtros de agregaciones
○ Autocompletado
○ Score
○ Resultados similares
GeoNetwork 4
11. ● Mejoras en los filtros de agregaciones
○ Múltiples selecciones (OR)
○ Excluir valores
○ Campos anidados
GeoNetwork 4
12. ● Mejoras en el rendimiento de las búsquedas:
○ Búsquedas 10 veces más rápidas (mínimo), con respuestas 10 veces más pequeñas.
■ GeoNetwork 3.x genera los resultados con un número fijo de campos en formato XML que se convierte
en JSON.
■ GeoNetwork 4.x utiliza directamente el API de ElasticSearch, pudiendo seleccionar los campos a devolver.
○ Comparación búsquedas
■ Cargar la página de búsquedas
■ Seleccionar los filtros:
● Datasets
● BDinfraSIG
● Grid
● Aún así, el renderizado de los resultados es lento, pero eso es otra historia …
GeoNetwork 4
13. ● Indexación de los metadatos
○ Cada formato de metadatos define un proceso XSLT para extraer la información a indexar
GeoNetwork 4
14. ● EsRestClient
○ Utiliza el org.elasticsearch.client.RestClient (HTTP)
● EsHttpProxy
○ Intercepta la consulta a ElasticSearch para añadir el filtro con los privilegios del usuario.
○ Intercepta el resultado para añadir información adicional.
GeoNetwork 4
15. ● Uso de Kibana para ofrecer estadisticas del contenido.
GeoNetwork 4
16. ● Limitaciones y mejoras a plantear
○ Soporte multilenguaje:
■ Los registros se indexan y se muestran, pero falta la lógica para mostrar según el idioma de la interfaz de
usuario o realizar la búsqueda en un idioma específico.
■ Traducción automática del contenido de metadatos al idioma de la interfaz de usuario.
○ Soporte para protocolos de búsqueda están implementados: OAI-PMH, Z39.50, etc.
○ Utilización de sinónimos en las búsquedas.
○ Dashboards de estadísticas de búsquedas.
GeoNetwork 4