Habilitación de tipos de contenido desestructurado adicionales

Puede habilitar la búsqueda en tipos de contenido más desestructurados para que los datos de adjuntos personalizados puedan procesarse mediante la búsqueda y recuperarse en los resultados de búsqueda de la tienda.

Importante: De forma predeterminada, la HCL Commerce Search indexa los datos no estructurados descifrados. Es decir, el proceso de datos cifrados con la HCL Commerce Search no está soportado.

Antes de empezar

Asegúrese de llevar a cabo las siguientes tareas:
  • La base de datos contiene tipos de contenido personalizado.

Procedimiento

  1. Cree un analizador para el tipo de archivo nuevo.

    HCL Commerce WebSphere Commerce soporta analizadores adicionales para habilitar la búsqueda en más tipos de archivo.

    1. Prepare la extensión.

      Antes de implementar la lógica para el nuevo tipo de archivo, deben seleccionarse los tipos MIME del nuevo analizador.

      1. Abra el archivo tika-mimetypes.xml. El archivo está en el archivo tika-core-0.4.jar, en org/apache/tika/mime.
      2. Entre el tipo MIME que desea implementar.Por ejemplo, para el soporte de tipo application/vnd.rn-realmedia:
        
        <mime-type type="application/vnd.rn-realmedia">
            <magic priority="50">
              <match value=".RMF" type="string" offset="0" />
            </magic>
            <glob pattern="*.rm"/>
          </mime-type>
      3. Busque un lector que encuentre el formato de archivo para que se pueda analizar satisfactoriamente.
      4. Si el analizador debe soportar más tipos, seleccione más. Estos tipos MIME son necesarios cuando se implementa la lógica.
    2. Implemente la lógica de extensión.
      1. Cree una clase que implemente la interfaz org.apache.tika.parser.Parser. En com.ibm.commerce.tika.parser.video.VideoParser.getSupportedTypes(ParseContext), debe devolver la lista de tipos de soporte admitidos.
        Por ejemplo:
        
        private static final Set<MediaType> SUPPORTED_TYPES =
                Collections.unmodifiableSet(new HashSet<MediaType>(Arrays.asList(
                        MediaType.application("vnd.rn-realmedia"))));
        
        	public Set<MediaType> getSupportedTypes(ParseContext context) {
        		return SUPPORTED_TYPES;
        	}
        Al tipo de soporte de aplicación se le da el valor vnd.rn-realmedia para que coincida con el tipo MIME seleccionado anteriormente.
      2. com.ibm.commerce.tika.parser.video.VideoParser.parse(InputStream, ContentHandler, Metadata, ParseContext) debe manejar el contenido del soporte que se suministra como parámetro InputStream. Además, también debe manejar el contenedor de metadatos del soporte que se suministra como el parámetro Metadata.
        Por ejemplo:
        
        metadata.set(Metadata.CONTENT_TYPE, "application/vnd.rn-realmedia");
        metadata.add(Metadata.PUBLISHER, "Publisher");
        metadata.add(Metadata.LANGUAGE, "RM_language");
        metadata.add(Metadata.COMPANY, "IBM Commerce");
        XHTMLContentHandler xhtml = new XHTMLContentHandler(handler, metadata);
        xhtml.startDocument();
        xhtml.endDocument();
        Cuando este método devuelve el resultado, los metadatos pueden contener información adicional sobre la aplicación de publicación, idioma y empresa. Pero no se extrae ningún contenido.
    3. Ensamble la lógica y habilite la HCL Commerce Search para reconocerla.
      Un archivo de registro de servicio ayuda a insertar el nuevo analizador para conocerlo en la infraestructura de HCL Commerce Search.
      1. Cree el archivo siguiente:
        • META-INF/services/org.apache.tika.parser.Parser
      2. Inserte el nombre de clase completo del analizador en el archivo. Por ejemplo:
        
        com.ibm.commerce.tika.parser.video.VideoParser
        
      3. Exporte el código y el archivo de registro en un archivo JAR y guárdelo en el mismo directorio que el archivo tika-parser-version.jar.
  2. Confirme los resultados en la HCL Commerce Search.

    La HCL Commerce Search busca automáticamente el analizador adecuado del contenido de archivo. Por ejemplo, si un archivo realmedia se encuentra en la solicitud de extracción, la HCL Commerce Search devuelve el resultado del analizador. La Célula Solr utiliza el resultado y compone un nuevo documento y lo envía al servidor de búsqueda para los mandatos de creación y actualización.

    Por ejemplo, puede comprobar el contenido de índice, donde el resultado es similar al siguiente fragmento de código:
    
    content_type:=>application/vnd.rn-realmedia
    tika_company:=>IBM Commerce
    tika_publisher:=>Publisher
    tika_language:=>RM_language
    tika_stream_size:=>614135

Qué hacer a continuación

Después de habilitar la búsqueda en más tipos de contenido desestructurado creando un nuevo analizador, puede buscar en el escaparate para confirmar que los resultados de la búsqueda contienen los tipos de contenido desestructurado personalizados.