Creación del índice de HCL Commerce Search

Puede crear el índice de HCL Commerce Search utilizando la llamada RESTful de creación de índice. Si está utilizando el motor de búsqueda Solr, el índice se crea utilizando el servicio Data Import Handler (DIH). Si está utilizando Elasticsearch, se llama al servicio de introducción. Para obtener más información, consulte Crear el índice de Elasticsearch.

Antes de empezar

Si está utilizando Apache Solr como plataforma de búsqueda, asegúrese de que se hayan cumplido los siguientes requisitos previos.

  • Entorno de desarrollo
    • Asegúrese de que Transaction server y Search server se inician en Rational Application Developer.
    • Asegúrese de que puede visitar Solr a través de HTTP, por ejemplo: http://search_hostname:search_http_port/solr/admin/cores?
  • Entorno de ejecución
    • Asegúrese que el servidor de transacciones y el servidor de búsqueda están en ejecución.
    • Asegúrese de que puede visitar Solr a través de HTTP, por ejemplo http://search_hostname:search_http_port/solr/admin/cores? . Utilizará HTTPS para realizar la llamada de creación de índice real. Puede ejecutar solicitudes HTTPS POST utilizando un complemento de navegador, por ejemplo, HttpRequester para Mozilla Firefox o Postman para Google Chrome.
  • En los dos entornos, asegúrese de haber actualizado los certificados para el servidor de transacciones antes de realizar la llamada REST de creación de índice. Añada el certificado a la lista de confianza del navegador accediendo al URL de solicitud directamente con el navegador.
    Las dos formas de hacerlo son:
    • Si está utilizando un plugin de cliente HTTP, como Postman, DHC o HttpRequester, visite el URL de creación de índice mediante el navegador en el que el plugin está instalado y añada una excepción para el certificado autofirmado. A continuación, llame al inicio de sesión spi de REST de creación de índice utilizando el plugin.
    • Desde un indicador de mandatos, emita el siguiente mandato:
      curl -k -s -X POST -u spiuser:spi_plain_text_password https://ts-server-hostname:ts-https-prt/wcs/resources/admin/index/dataImport/build?masterCatalogId=master-catalog-id

Procedimiento

  1. Ejecute el mandato REST de creación de índice. El método es POST y debe incluir autorización básica en la cabecera, es decir, un ID spiuser y su correspondiente password. Haga que la solicitud de publicación HTTPS utilizando un complemento de navegador como, por ejemplo, HttpRequester, para Mozilla Firefox o Postman, para Google Chrome.
    La llamada de creación de índice actualiza la información en el índice maestro utilizando el servicio Data Import Handler (DIH) para crear el índice. Crea el índice parcialmente mediante actualizaciones de índice delta o completamente mediante creaciones de índice completas. Cuando existen varios índices, por ejemplo, cada idioma utiliza un índice propio independiente, el índice se crea varias veces. En el entorno de desarrollo, el transaction_server_https_port es el valor predeterminado, de modo que puede especificar 443 o dejarlo en blanco a menos que lo haya cambiado. En el entorno de ejecución, el número de puerto es 5443. Si no está seguro del número de puerto, inicie la sesión en el servidor de transacciones y ejecute el mandato docker ps para encontrar la correlación de puertos del proceso ts-app. El mandato para crear el índice es:
    https://transaction_server_hostname:transaction_server_https_port/wcs/resources/admin/index/dataImport/build?masterCatalogId=masterCatalogId
    Donde:
    masterCatalogId
    Se necesita: El ID del catálogo maestro (por ejemplo, 10101).
    Si no conoce el ID del catálogo maestro, ejecute el SQL siguiente:
    SQL: select * from catalog where IDENTIFIER='STORE_IDENTIFIER'
    
    Para averiguar el ID de catálogo maestro para una tienda de sitio ampliado:
    1. Busque el ID de tienda:
      select * from storeent where IDENTIFIER='STORE_IDENTIFIER'
      
    2. Utilice el storeent_id como el store_id en el siguiente SQL para averiguar el ID de tienda con elementos de catálogo de esta tienda de sitio ampliado:
      
      select * from storerel where store_id=XXXXXX and streltyp_id=-4 and relatedstore_id not in (XXXXXX)
      
      Donde XXXXXX es el storeent_id del SQL del paso 1.a al crear el índice de búsqueda.
    3. Obtenga el ID de catálogo maestro:
      
      select * from storecat where storeent_id=YYYYYY and mastercatalog='1'
      
      Donde YYYYYY es el relatedstore_id del paso 1.b al crear el índice de búsqueda.
    indexType
    Opcional: Indica el índice de motor de búsqueda a configurar para un nivel más granular de indexación.
    Los valores válidos son:
    • CatalogEntry: Configura el índice para entradas de catálogo en el catálogo maestro.
    • CatalogGroup: Configura el índice para categorías en el catálogo maestro.

      Si no utiliza el parámetro indextype, los índices CatalogEntry y CatalogGroup se crean de forma predeterminada.

    indexSubType
    Opcional: Indica los subtipos de índice del motor de búsqueda para configurar. Este parámetro solo acepta un valor a la vez. No acepta valores múltiples.
    Los valores válidos son:
    Structured
    Configura el índice para el contenido estructurado.
    Unstructured
    Configura el índice para el contenido no estructurado.
    WebContent
    Configura el índice para el contenido de sitio.
    Inventario
    Configura el índice para datos de inventario.
    Precio
    Si el índice de precios está incluido en el núcleo de CatalogEntry, este parámetro solo calcula el precio. Si el índice de precios se encuentra en un núcleo de índice de Solr distinto, este parámetro calcula precios e inicializa el índice para los datos de precios.

    Si no utiliza el parámetro indexSubType, los subtipos de índice Structured, Unstructured y WebContent se crean de forma predeterminada. Si establece indexType en CatalogGroup, puede establecer indexSubType en Structured. Puede establecer cualquier valor de indexSubType cuando se establece CatalogEntry para que sea el valor indextype.

    fullBuild
    Opcional: Distintivo que indica si se trata de una compilación de índice completa. Los valores aceptados son true o false. El valor predeterminado es true.
    localeName
    Opcional: El entorno local para el índice.
    • All
    • de_DE
    • en_US
    • es_ES
    • fr_FR
    • it_IT
    • ja_JP
    • ko_KR
    • pl_PL
    • pt_BR
    • ro_RO
    • ru_RU
    • zh_CN
    • zh_TW
    El valor predeterminado es All.
    Nota: Para indexar un nuevo idioma, este idioma debe añadirse en la tabla SRCHCONF y la tabla SRCHCONFEXT. Para obtener más información, consulte Indexar un nuevo idioma en la HCL Commerce Search.
    La respuesta para la llamada RESTFul para la creación de indice es parecida al siguiente ejemplo:
    {"jobStatusId":1001}
    donde 1001 es el ID de trabajo para esta creación de índice.
  2. Compruebe el estado de la creación de índice.
    Si está comprobando el estado de la creación de un índice, emita la siguiente solicitud de http:
    https://{ts_server_hostname}:{ts_https_port}/wcs/resources/admin/index/dataImport/status?jobStatusId={jobstatusId}
    Method: GET
    header: basic auth for spiuser and its password
    
    También puede comprobar el estado utilizando el mandato de Linux cURL.
    curl -k -u spiuser:plain_text_spiuserPassword -X GET https://hostname:3738/search/admin/resources/index/build/status?jobStatusId=jobstatusId

Qué hacer a continuación

Después de que se haya creado el índice de búsqueda, opcionalmente puede replicar y propagar el índice de HCL Commerce Search.