Implementa un complemento indexador del colector HTTP de Norconex

Esta guía está destinada a los administradores del complemento indexador del colector HTTP de Norconex de Google Cloud Search, es decir, cualquier persona que sea responsable de la descarga, la implementación, la configuración y el mantenimiento del complemento indexador. En la guía, se da por sentado que estás familiarizado con los sistemas operativos de Linux, los aspectos principales del rastreo web, XML y el colector HTTP de Norconex.

También se incluyen instrucciones para realizar tareas clave relacionadas con la implementación del complemento indexador:

  • Descarga del software del complemento indexador.
  • Configuración de Google Cloud Search
  • Configuración del colector HTTP de Norconex y el rastreo web
  • Inicio del rastreo web y la carga de contenido

La información sobre las tareas que debe realizar el administrador de G Suite para asignar Google Cloud Search al complemento indexador del colector HTTP de Norconex no aparece en esta guía. Para obtener información sobre esas tareas, consulta la página sobre cómo administrar fuentes de datos de terceros.

Descripción general del complemento indexador del colector HTTP de Norconex de Cloud Search

De forma predeterminada, Google Cloud Search puede descubrir, indexar y entregar contenido a partir de los productos de G Suite como Documentos de Google y Gmail. Puedes ampliar el alcance de Google Cloud Search a fin de entregar contenido web a tus usuarios si implementas el complemento indexador del colector HTTP de Norconex, un rastreador web empresarial de código abierto.

Archivos de propiedades de configuración

Para habilitar que el complemento indexador realice rastreos web y suba contenido a la API de indexación, debes, como administrador del complemento indexador, proporcionar información específica durante los pasos de configuración que se describen en este documento en Pasos para la implementación.

Para usar el complemento indexador, debes configurar las propiedades en dos archivos de configuración:

  • {gcs-crawl-config.xml}: contiene la configuración del Colector HTTP de Norconex.
  • sdk-configuration.properties: contiene la configuración de Google Cloud Search.

Las propiedades en cada archivo habilitan que el complemento indexador de Google Cloud Search y el colector HTTP de Norconex puedan comunicarse.

Rastreo web y carga de contenido

Una vez que hayas propagado los archivos de configuración, tendrás la configuración necesaria para iniciar el rastreo web. El colector HTTP de Norconex rastrea la Web, descubre contenido del documento que se refiere a su configuración y sube versiones binarias (o de texto) originales del contenido del documento a la API de indexación de Cloud Search donde se indexa y se entrega a tus usuarios.

Sistema operativo compatible

El complemento indexador del colector HTTP de Norconex de Google Cloud Search debe instalarse en Linux.

Versión compatible del colector HTTP de Norconex

El complemento indexador del colector HTTP de Norconex de Google Cloud Search es compatible con la versión 2.8.0.

Compatibilidad de LCA

El complemento del indexador es compatible con el control de acceso a documentos en el dominio de G Suite mediante el uso de las Listas de control de acceso (LCA).

Si se habilitan las LCA predeterminadas en la configuración del complemento de Google Cloud Search (defaultAcl.mode no configurado como none y configurado con defaultAcl.*), el complemento indexador primero intenta crear y aplicar una LCA predeterminada.

Si no se habilitan las LCA predeterminadas, el complemento recurre a dar permiso de lectura a todo el dominio de G Suite.

Para obtener descripciones detalladas de los parámetros de configuración de LCA, consulta los parámetros de conectores que proporciona Google.

Requisitos previos

Antes de implementar el complemento indexador, asegúrate de que tienes los siguientes componentes necesarios:

  • Java JRE 1.8 instalado en una computadora que ejecuta el complemento indexador
  • La información de G Suite requerida para establecer relaciones entre Cloud Search y el colector HTTP de Norconex:

    Por lo general, el administrador de G Suite del dominio puede proporcionarte estas credenciales.

Pasos para la implementación

Para implementar el complemento del indexador, sigue estos pasos:

  1. Instala el Colector HTTP de Norconex y el software del complemento indexador.
  2. Configuración de Google Cloud Search
  3. Configura el Colector HTTP de Norconex.
  4. Configura el rastreo web.
  5. Inicia un rastreo web y la carga de contenido.

Paso 1: Instala el colector HTTP de Norconex y el software del complemento indexador

  1. Descarga el software de confirmación de Norconex de esta página.
  2. Descomprime el software descargado en la carpeta ~/norconex/.
  3. Clona el complemento de confirmación desde GitHub. Usa git clone https://github.com/google-cloudsearch/norconex-committer-plugin.git y, luego, cd norconex-committer-plugin.
  4. Revisa la versión deseada del complemento de confirmación y compila el archivo ZIP: git checkout tags/v1-0.0.3 y mvn package (para omitir las pruebas cuando se compila el conector, usa mvn package -DskipTests).
  5. cd target
  6. Copia el archivo jar del complemento compilado en el directorio lib norconex. cp google-cloudsearch-norconex-committer-plugin-v1-0.0.3.jar ~/norconex/norconex-collector-http-{version}/lib
  7. Extrae el archivo ZIP que acabas de compilar y, luego, descomprime el archivo: unzip google-cloudsearch-norconex-committer-plugin-v1-0.0.3.zip.
  8. Ejecuta la secuencia de comandos de instalación para copiar el .jar del complemento y todas las bibliotecas necesarias en el directorio del colector HTTP:
    1. Cambia al complemento de confirmación extraído que descomprimiste antes: cd google-cloudsearch-norconex-committer-plugin-v1-0.0.3.
    2. Ejecuta $ sh install.sh y proporciona la ruta completa a norconex/norconex-collector-http-{version}/lib como el directorio de destino cuando se te solicite.
    3. Si se encuentran archivos jar duplicados, selecciona la opción 1 (copia el jar fuente solo si es de una versión igual o superior al jar de destino después de renombrarlo).

Para que el complemento indexador se conecte al colector HTTP de Norconex y se indexe el contenido relevante, debes crear el archivo de configuración de Cloud Search en el directorio de Norconex en el que se instala el colector HTTP de Norconex. Google recomienda que definas un nombre para el archivo de configuración de Cloud Search sdk-configuration.properties.

Este archivo de configuración debe contener pares clave-valor que definan un parámetro. En el archivo de configuración se deben especificar al menos los siguientes parámetros, que son necesarios para acceder a la fuente de datos de Cloud Search.

Configuración Parámetro
ID de la fuente de datos api.sourceId = 1234567890abcdef
Obligatorio. El ID de la fuente de Cloud Search que configura el administrador de G Suite.
Cuenta de servicio api.serviceAccountPrivateKeyFile = ./PrivateKey.json
Obligatorio. El archivo de claves de la cuenta de servicio de Cloud Search que creó el administrador de G Suite para la accesibilidad del complemento indexador.

En el siguiente ejemplo, se muestra un archivo sdk-configuration.properties.

#
    # data source access
    api.sourceId=1234567890abcdef
    api.serviceAccountPrivateKeyFile=./PrivateKey.json
    #
    

El archivo de configuración también puede contener parámetros de configuración que proporciona Google. Estos parámetros pueden afectar la manera en la que este complemento envía datos a la API de Google Cloud Search. Por ejemplo, el conjunto de parámetros batch.* identifica la manera en la que el conector combina solicitudes.

Si no defines un parámetro en el archivo de configuración, se usa el valor predeterminado, si está disponible. Para obtener descripciones detalladas de cada parámetro, consulta los parámetros de conectores que proporciona Google.

Puedes configurar el complemento indexador a fin de propagar metadatos y datos estructurados para el contenido a indexar. Los valores que se propagarán para los campos de datos estructurados y metadatos se pueden extraer de las metaetiquetas en el contenido HTML a indexar o se pueden especificar valores predeterminados en el archivo de configuración.

Configuración Parámetro
Título itemMetadata.title.field=movieTitle
itemMetadata.title.defaultValue=Gone with the Wind
De forma predeterminada, el complemento usa el HTML title como el título del documento a indexar. En el caso de que falte un título, puedes consultar el atributo de metadatos que contiene el valor correspondiente al título del documento o configurar un valor predeterminado.
Marca de tiempo de creación itemMetadata.createTime.field=releaseDate
itemMetadata.createTime.defaultValue=1940-01-17
El atributo de metadatos que contiene el valor correspondiente a la marca de tiempo de creación del documento
Hora de la última modificación itemMetadata.updateTime.field=releaseDate
itemMetadata.updateTime.defaultValue=1940-01-17
El atributo de metadatos que contiene el valor correspondiente a la marca de tiempo de la última modificación del documento
Idioma del documento itemMetadata.contentLanguage.field=languageCode
itemMetadata.contentLanguage.defaultValue=en-US
El idioma del contenido para los documentos que se indexan
Tipo de objeto de esquema itemMetadata.objectType=movie
El tipo de objeto que usa el sitio, como se establece en las definiciones del objeto de esquema de la fuente de datos. El conector no indexará ningún dato estructurado si no se especifica esta propiedad.

Nota: Esta propiedad de la configuración hace referencia a un valor y no a un atributo de los metadatos, y no se admiten los sufijos .field ni .defaultValue.

Formatos de fecha y hora

Los formatos de fecha y hora especifican los esperados en los atributos de metadatos. Si el archivo de configuración no contiene este parámetro, se usan los valores predeterminados. La siguiente tabla muestra este parámetro.

Configuración

Parámetro

Patrones de fecha y hora adicionales

structuredData.dateTimePatterns=MM/dd/uuuu HH:mm:ssXXX
    

Una lista separada por puntos y comas de patrones java.time.formatDateTimeFormatter adicionales. Los patrones se usan cuando se analizan valores de string para cualquier campo de fecha o de fecha y hora en los metadatos o en el esquema. El valor predeterminado es una lista vacía, pero los formatos RFC 3339 y RFC 1123 siempre son compatibles.

Paso 3: Configura el colector HTTP de Norconex

El archivo zip norconex-committer-google-cloud-search-{version}.zip incluye un archivo de configuración de muestra, minimum-config.xml.

Google recomienda que comiences la configuración mediante el copiado del archivo de muestra:

  1. Cambia el directorio del Colector HTTP de Norconex:
    $ cd ~/norconex/norconex-collector-http-{version}/
  2. Copia el archivo de configuración:
    $ cp examples/minimum/minimum-config.xml gcs-crawl-config.xml
  3. Edita el archivo recién creado (en este ejemplo, gcs-crawl-config.xml) y agrega o reemplaza los nodos existentes <committer> y <tagger> como se describe en la siguiente tabla.
Configuración Parámetro
<committer> node <committer class="com.norconex.committer.googlecloudsearch. GoogleCloudSearchCommitter">

Obligatorio. Para habilitar el complemento, debes agregar un nodo <committer> como secundario del nodo <httpcollector> raíz.
<UploadFormat> <uploadFormat>raw</uploadFormat>
Opcional. El formato en el que el complemento indexador envía contenido del documento a la API del indexador de Google Cloud Search. Los valores válidos son:
  • raw: el complemento indexador envía contenido original del documento sin convertir.
  • text: el complemento indexador envía contenido textual extraído.

El valor predeterminado es raw.
BinaryContent Tagger <tagger> node <tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
Obligatorio si el valor de <UploadFormat> es raw. En este caso, el complemento indexador necesita el campo de contenido binario del documento para estar disponible.

Debes agregar el nodo BinaryContentTagger <tagger> como un elemento secundario del nodo <importer> / <preParseHandlers>.

En el siguiente ejemplo, se muestra la modificación necesaria para gcs-crawl-config.xml.

<committer class="com.norconex.committer.googlecloudsearch.GoogleCloudSearchCommitter">
        <configFilePath>/full/path/to/gcs-sdk-config.properties</configFilePath>
        <!-- Optional, value="[raw|text]". Default value: raw -->
        <uploadFormat>raw</uploadFormat>
    </committer>
    <importer>
      <preParseHandlers>
        <tagger class="com.norconex.committer.googlecloudsearch.BinaryContentTagger"/>
      </preParseHandlers>
    </importer>
    

Paso 4: Configura el rastreo web

Antes de iniciar un rastreo web, debes configurar el rastreo para que solo incluya la información que tu organización quiere que esté disponible en los resultados de la búsqueda. La configuración más importante para el rastreo web forma parte de los nodos <crawler> y puede incluir:

  • URL de inicio
  • Profundidad máxima del rastreo
  • Cantidad de subprocesos

Cambia estos valores de configuración según tus necesidades. Para obtener información más detallada acerca de cómo configurar un rastreo web, así como una lista completa de los parámetros de configuración disponibles, consulta la página de configuración del colector HTTP.

Paso 5: Inicia un rastreo web y la carga de contenido

Una vez que instalaste y configuraste el complemento indexador, puedes ejecutarlo en su propio modo local.

En el siguiente ejemplo, se da por sentado que los componentes obligatorios están ubicados en el directorio local en un sistema Linux. Ejecuta el siguiente comando:

$ ./collector-http[.bat|.sh] -a start -c gcs-crawl-config.xml
    

Supervisa el rastreador con JEF Monitor

JEF (Job Execution Framework) Monitor de Norconex es una herramienta gráfica para supervisar el progreso de los trabajos y procesos del rastreador web de Norconex (colector HTTP). Para ver un instructivo completo sobre cómo configurar esta utilidad, visita la página sobre cómo supervisar el progreso de tu rastreador con JEF Monitor.