Combinación de la coincidencia mínima con asociaciones de términos de búsqueda (utilizando el algoritmo de expansión Solr)

Puede combinar la coincidencia mínima con asociaciones de términos de búsqueda, si utiliza el algoritmo de expansión de sinónimos de Solr. Esta opción se suele utilizar junto con el filtro de frase automática para habilitar las asociaciones de términos de búsqueda de múltiples palabras.

Nota: También puede combinar la coincidencia mínima con asociaciones de términos de búsqueda mediante el uso del algoritmo de expansión de consulta de tiempo de ejecución.

Por qué y cuándo se efectúa esta tarea

Tenga en cuenta las limitaciones siguientes de esta característica:
  • Se soporta un único archivo synonyms.txt por catálogo maestro. Todos los sitios ampliados comparten el mismo archivo synonyms.txt.
  • No se soportan varios sinónimos de palabras o términos de sustitución.
  • Si los servidores de HCL Commerce y de búsqueda están en nodos independientes en el entorno de autoría, transfiera el archivo synonyms.txt del servidor de HCL Commerce al servidor de búsqueda. Repita este proceso después de cada actualización de asociación de término de búsqueda del Centro de gestión. Transfiera el archivo utilizando la transferencia de archivos NFS o copiando manualmente el archivo. Entonces el archivo se replica en los servidores subordinados en el entorno de producción.

Procedimiento

  1. Abra el archivo LOBTools\WebContent\config\commerce\catalog\objectDefinitions\SearchTermAssociationsPrimaryObjectDefinition.def para editarlo.
  2. Elimine los comentarios de la sección siguiente:
    
    <!--Comments out the following definition to prevent generating "synonyms.txt" for solr server.-->
       <PostSaveService url="/cmc/PublishSearchTermAssociations">
          <ServiceParam name="storeId"/>
       </PostSaveService>
  3. Guarde los cambios y cierre el archivo.
  4. Abra el archivo siguiente para editarlo:
    • solrhome/MC_masterCatalogId/locale_name/Catalogentry/conf/schema.xml
    Si desea que el contenido desestructurado se comporte de la misma manera, abra también el siguiente archivo para editarlo:
    • solrhome/MC_masterCatalogId/locale_name/Catalogentry/conf/unstructured/schema.xml
  5. Añada el fragmento de código de clase de filtro siguiente al archivo, dentro del bloque de analizador de consulta wc_text, antes del filtro SnowballPorterFilterFactory y después de WhitespaceTokenizerFactory:
    
    <filter class="solr.SynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true"/>
    
    Si está actualizando el archivo schema.xml de contenido no estructurado, realice la siguiente actualización:
    
    <filter class="solr.SynonymFilterFactory" synonyms="../../synonyms.txt" ignoreCase="true" expand="true"/>
    
  6. Guarde los cambios y cierre el archivo.
  7. Actualice el archivo de configuración HCL Commerce Search (wc-search.xml):
    • En WC EAR: workspace_dir/WC/xml/config/com.ibm.commerce.catalog-ext/wc-search.xml
    • En EAR Search: Search_eardir/xml/config/com.ibm.commerce.catalog-ext/wc-search.xml

    Añada synonym="/conf/synonyms.txt" al núcleo CatalogEntry.

    
    <_config:core catalog="10001" indexName="CatalogEntry"
       language="en_US" name="MC_10001_CatalogEntry_en_US"
       path="/MC_10001/en_US/CatalogEntry" serverName="BasicConfiguration" synonym="/conf/synonyms.txt"/>
    
    Si desea que el contenido no estructurado se comporte de la misma manera, actualice el núcleo UnstructuredContent.
    
    <_config:core catalog="10001" indexName="UnstructuredContent"
       language="en_US" name="MC_10001_CatalogEntry_Unstructured_en_US"
       path="/MC_10001/en_US/CatalogEntry/unstructured" serverName="BasicConfiguration" synonym="/conf/synonyms.txt"/>
    

    Para obtener más información, consulte Configuración de la búsqueda.

  8. Asegúrese de que el archivo synonyms.txt existe en el directorio siguiente: solrhome/MC_masterCatalogId/locale_name/Catalogentry/conf
    Importante: El Centro de gestión actualiza automáticamente synonyms.txt solo en el servidor de HCL Commerce en la ubicación anterior.

    Si los servidores de HCL Commerce y de búsqueda están en nodos independientes en el entorno de autoría, asegúrese de que el archivo synonyms.txt existe en los nodos de HCL Commerce y de búsqueda.

    A continuación, sincronice la versión del servidor de búsqueda del archivo con la versión de HCL Commerce actualizada del archivo. Es decir, el archivo synonyms.txt debe transferirse desde el servidor de HCL Commerce al servidor de búsqueda después de cada actualización de asociación de término de búsqueda en el Centro de gestión. De este modo se asegura de que los cambios realizados en el entorno de autoría de HCL Commerce también se reflejan en el servidor de búsqueda.

  9. Para sincronizar archivos de configuración de Solr, como stopwords.txt, x-Schema.xml y sinónimos.txt entre servidores maestros y subordinados, puede simplemente desplegar las mismas imágenes de Docker en cada nodo.
    Para cada combinación maestro/subordinado, modifique el rango de sondeo y la URL maestra para personalizar el comportamiento de Solr. No puede cambiar el archivo de configuración solrconfig.xml directamente; en su lugar, utilice uno de los métodos descritos en Ampliar el archivo solrconfig.xml para cambiar las variables. Por ejemplo, puede cambiar el valor del rango de sondeo a través del parámetro solr.replication.pollInterval en la tabla de base de datos SRCHCONFEXT. La URL maestro se puede personalizar de forma similar cambiando el parámetro solr.master.server.url . Por ejemplo:
    update srchconfext set config='solr.master.server.url=master_hostname:master_https_port, solr.replication.pollInterval=00:00:10' where srchconfext_id=srchconfext_id;
    donde master_hostname e master_https_port son los valores específicos del entorno Si en su lugar se personaliza solrconfig.xml editando el archivo jvm.options (tal como se describe en Ampliar el archivo solrconfig.xml), añada las líneas siguientes a jvm.options:
    -Dsolr.master.server.url=master_hostname:master_https_port 
    -Dsolr.replication.pollInterval=00:00:10
  10. Puede transferir asociaciones de términos de búsqueda existentes del Centro de gestión al archivo synonyms.txt. Para ello, desencadene un cambio menor en los términos sinónimos o de sustitución y, a continuación, guarde el cambio.