Detalles de indexación de Lucene en el Geoportal
La indexación es importante debido a que determina qué propiedades se pueden consultar y cómo se devuelven los resultados de la búsqueda cuando un usuario envía el criterio de búsqueda al geoportal. Al publicar un documento de metadatos, cierto contenido del documento será enviado para indexación del motor de búsqueda. Para facilitar las entidades más avanzadas de Lucene, la tecnología utilizada para la indexación de la búsqueda del servidor del Geoportal, esta información recibe la asignación de un significado específico. Por 'significado', nos referimos a un concepto o predicado que desea buscar o consultar específicamente. Este 'significado' determina cómo Lucene indexará el contenido y cómo se puede usar en la búsqueda.
Antes de que se pueda usar el valor de 'significado', éste se debe definir en un archivo denominado property-meanings.xml, que se encuentra en la carpeta \\geoportal\WEB-INF\classes\gpt\metadata. El Geoportal hace referencia a property-meanings.xml para indexar el valor de los metadatos para la búsqueda y recuperación.
Cada archivo definition.xml del perfil de metadatos del geoportal puede especificar el conjunto de propiedades que se indexarán. Estas propiedades se capturan usualmente en el archivo indexables.xml de ese perfil. El indexables.xml hace una conexión entre la xpath XML del elemento y su significado asociado en el archivo proptery-meanings.xml. Esto a su vez define la manera en que el elemento se indexará y buscará.
Nota:
El geoportal se puede personalizar de manera que realice una indexación automática de todo el contenido de metadatos, independientemente de con qué parámetro está asociado en los metadatos. Para habilitar esta personalización, vea Indexar todo el contenido de metadatos.
Determine si el elemento de metadatos ya está indexado de manera predeterminada
Si un elemento de metadatos aparece en uno de los editores de metadatos predeterminado del geoportal, es probable que este elemento ya esté indexado de manera predeterminada. Sin embargo, si creó un perfil de metadatos personalizado con nuevos parámetros de metadatos o agregó nuevos elementos de metadatos a los editores predeterminados, probablemente deba definir el indexado del elemento.
Para verificar si el elemento ya está indexado, identifique el archivo definition.xml del perfil que hace referencia al elemento de metadatos. Por ejemplo, si deseamos investigar si el elemento de linaje del perfil INSPIRE (Datos)está indexado, empezamos abriendo el archivo inspire-iso-19115-definition.xml en un editor de texto. Aquí, necesitaremos identificar a qué archivo indexables.xml se hace referencia por medio de este perfil y además encontrar la xpath al elemento de metadatos de interés. Para encontrar el archivo indexables.xml, busque en el atributo <indexables fileName=""> en el archivo definition.xml. En nuestro ejemplo, esto apunta al archivo apiso-indexables.xml desde la carpeta \\geoportal\WEB-INF\classes\gpt\metadata\iso. Una vez ha identificado a cuál archivo indexables.xml se hace referencia, abra ese archivo indexables.xml en un editor de texto o XML.
Para encontrar la xpath para el elemento de interés de los metadatos, encuentre el elemento <parameter> para ese elemento de metadatos en el archivo definition.xml. En ese elemento <parameter>, hay un subelemento <content>. El <content> tiene un atributo de selección. Copie la xpath de ese atributo de selección.
Para que se haga la indexación del elemento de metadatos, su xpath se debe enumerar en el archivo indexables.xml por medio de este perfil de metadatos. Para hacer esto, regrese al archivo indexables.xml y busque la xpath que acaba de copiar. En nuestro ejemplo de linaje , copiamos la cadena de caracteres /gmd:MD_Metadata/gmd:dataQualityInfo/gmd:DQ_DataQuality/gmd:lineage/gmd:LI_Lineage/gmd:statement/gco:CharacterString del archivo inspire-iso-19115-definition.xml y lo buscamos en el archivo apiso-indexables.xml. En nuestro ejemplo, lo encontramos en el archivo apiso-indexables.xml y vemos que está indexado por el nombre del significado de la propiedad "apiso:Lineage". Cuando observa apiso name="apiso:Lineage" en el archivo property-meaningx.xml, observamos que lo que se puede buscar para esto es el texto apiso.Lineage. Así que podemos escribirapiso.Lineage:searchTerm en el campo Búsqueda en la página de búsqueda del geoportal para buscar los elementos de linaje para searchTerm.
Si la xpath al elemento de metadatos no se proporciona en el documento indexables.xml, puede agregar esta xpath a uno de los significados de propiedad que se enumeran en ese archivo. Después de agregar la xpath al significado de propiedad que coincide con el significado del elemento de metadatos, guarde el archivo indexables.xml y reinicie la aplicación Web del geoportal. Deberá volver a aprobar los recursos a través de la interfaz de Administración del geoportal para que se vuelvan a indexar con su nuevo significado de propiedad.
Se proporcionan instrucciones más adelante en este tema, pero primero lea la sección sobre el archivo property-meanings.xml a continuación.
El archivo property-meanings.xml
Antes de agregar nuevos significados, revise el archivo property-meanings.xml para ver si un significado existente se adapta a sus necesidades. Algunos de los significados que ya están definidos en el archivo se enumeran en la tabla a continuación, junto con cualquier funcionalidad que el código del Geoportal asocie con ese significado. También puede encontrar significados adicionales definidos para estándares basados en ISO en el archivo property-meanings.xml, pero no se enumeran en la tabla. Al usar significados existentes, el esfuerzo por actualizar a versiones futuras del Geoportal se minimiza. Los significados existentes deben satisfacer la mayoría de necesidades de búsqueda.
property-meaning name | descripción | Función del Geoportal |
---|---|---|
uuid | Clave principal del Geoportal para identificar el documento. | Generalmente verá este valor en las URL. Por ejemplo: http://host:port/geoportal/rest/document?id=[uuid] |
fileIdentifier | Representa un identificador desde dentro del documento de metadatos. No todos los estándares de metadatos admiten un elemento de metadatos del identificador interno. Si está presente, se recomienda que sea globalmente único. | Utilizado por el Geoportal para evitar la duplicación de recursos y como un identificador alterno para la mayoría de funciones basadas en REST. Por ejemplo: http://host:port/geoportal/rest/document?id=[fileIdentifier] |
sys.siteuuid | Utilizado internamente por el Geoportal, asociado con los documentos que se recopilan de catálogos remotos. Es el identificador del catálogo remoto y está disponible. No altere esto. | Disponible para consulta. |
dateModified | Marca de fecha de modificación del Geoportal asociada con la última ocurrencia en que el XML del recurso se actualizó. | Utilizada en el cuadro de diálogo Opciones adicionales en la página Búsqueda del geoportal y para ordenar por fecha. |
geometría | Representa el sobre de límite asociado con el recurso. | Utilizado para consultas espaciales. |
palabras clave | Palabras clave asociadas con el recurso. | Disponible para consulta. |
body | Consulta no específica, una que detecta todo para indexación y texto de búsqueda en un documento de metadatos. | Si desea indexar un elemento específico, pero no planea consultar ese elemento específico, haga la indexación como cuerpo. |
anytext | Anytext no está indexado en realidad. Esto representa una colección de propiedades que se buscarán cuando anytext que se puede consultar está especificado. | Búsquedas generales que no están dirigidas a una propiedad específica son consultas anytext. |
título | Título del recurso. | Utilizado cuando se visualiza el título del recurso; por ejemplo, en la lista de resultados de la búsqueda en la página Búsqueda. |
title.org | Captura el título original conforme se proporcionó desde una respuesta GetCapabilities de un recurso. | Habilita el geoportal para buscar un título dado por el usuario para un recurso registrado y su título original de acuerdo con la respuesta GetCapabilities. |
resumen | El resumen asociado en el recurso. | Mapas para la información que se muestra como texto debajo del título o un registro en la lista de los resultados de búsqueda. |
contentType | Concepto Esri para categorizar recursos. | Utilizado para generar el icono para el recurso enumerado en los resultados de la página Búsqueda y también como un filtro en el cuadro de diálogo Opciones adicionales. |
dataTheme | Código de categoría del tema ISO asociado con el recurso. ISO ha definido la lista de código de categoría de tema en el estándar 19115. | Mapas para las Categorías ISO en el cuadro de diálogo Opciones adicionales. |
resource.url | Extremo primario para obtener acceso al recurso a través de Internet. | Utilizado para la generación de vínculos en los resultados de búsqueda. Por ejemplo, la URL a la que se obtiene acceso cuando se hace clic en el vínculo Vista previa o Abrir. También se usa algunas veces para determinar el contentType de Esri para el recurso. |
thumbnail.url | URL para la imagen de vista en miniatura para el recurso. | Utilizada para la generación de la imagen de vista en miniatura junto al recurso en la lista de resultados de búsqueda. |
website.url | URL a un sitio Web asociado con el recurso. | Utilizada para la generación de un vínculo de sitio Webpara el recurso en la lista de resultados de búsqueda. |
Cada significado de propiedad en el archivo property-meanings.xml tiene atributos. Estos atributos para los significados de propiedad se describen a continuación.
Nombre del atributo | Descripción |
---|---|
nombre | Nombre único para el significado en este archivo y debe coincidir con el atributo meaning="" en el archivo definition.xml. El nombre designado se convierte en un campo Lucene que se puede usar para búsquedas avanzadas, de acuerdo con la documentación de Lucene. Por ejemplo, designar un nombre de título y luego escribir title:agua en su página de búsqueda del Geoportal solamente devolverá elementos con agua en el índice que Lucene ha asociado con el título significado de propiedad. |
meaningType | Utilizado para marcar elementos de metadatos que están vinculados a una funcionalidad dentro del Geoportal. Es una buena práctica evitar alterar el meaningType de un significado de propiedad. |
valueType | Tipo de datos del valor de propiedad; p.ej. Doble, Geometría, Largo, Cadena de caracteres o Marca de hora. |
comparisonType | Indica cómo Lucene indexará los valores de propiedad. Hay tres opciones definidas en el archivo property-meaning.xml :
|
Algunos significados de propiedad tienen uno o dos subelementos adicionales, <dc> y <consider>.
- El elemento <dc> representa el "Núcleo Dublín". El elemento <dc> facilita la conexión de los significados de propiedad a los conceptos del Núcleo Dublín. Esto es esencial para la compatibilidad con el perfil CS-W OGCORE, definiendo su capacidad de consulta y de respuesta a través de CS-W. Dentro del elemento <dc>, existe un atributo para name y para aliases. El atributo name define el nombre del elemento Núcleo Dublín. El atributo aliases define palabras alternas que se reconocerán cuando se proporcionen como un nombre de propiedad de CS-W.
- El elemento <consider> se utiliza solamente para la propiedad anytext. Define otros significados de propiedad que se deben incluir cuando un objetivo de búsqueda es anytext. Por ejemplo, el significado de propiedad para anytext se muestra a continuación. Debido a que anytext tiene otros cuatro significados de propiedad enumerados en su elemento <consider>, una búsqueda der anytext, da como resultado el título, resumen, palabras clave y propiedades del cuerpo que se están buscando.
<property-meaning name="anytext" meaningType="anytext" valueType="String" comparisonType="terms" allowLeadingWildcard="true"> <consider>title,abstract,keywords,body,contentType,dataTheme</consider> <dc name="AnyText" aliases="csw:AnyText,any,csw:Any"/> </property-meaning>
Cómo definir un nuevo significado de propiedad
Si ha creado un perfil de metadatos personalizado o ha agregado nuevos elementos a un perfil de metadatos del geoportal existente y ninguno de los significados de propiedad existentes en el archivo property-meanings.xml se adapta a sus necesidades, entonces es posible que necesite definir un nuevo significado de propiedad. Siga las instrucciones a continuación.
- El uso de los parámetros descritos en la tabla anterior, agrega un nuevo significado de propiedad al archivo property-meanings.xml.
- Ahora, agregue una referencia a su significado de propiedad al archivo indexables.xml para el perfil de sus metadatos. Asegúrese de que la xpath para el significado de propiedad en el archivo indexables.xml hace referencia de manera correcta a xpath del elemento como se define en su archivo definition.xml.
- Guarde los archivos y reinicie la aplicación Web del geoportal. Deberá volver a aprobar los recursos a través de la interfaz de Administración del geoportal para que se vuelvan a indexar con su nuevo significado de propiedad.