Modification de propriétés dans le fichier de configuration du HCL Commerce Search (wc-search.xml)

Pour modifier la valeur d'une propriété existante dans le fichier de configuration HCL Commerce Search (wc-search.xml), vous devez créer une version personnalisée du fichier dans un nouveau dossier. La version personnalisée du fichier ne doit contenir que les propriétés modifiées.

Avant de commencer

Pour connaître les propriétés contenues dans ce fichier, reportez-vous au sujet HCL Commerce Search fichier de configuration (wc-search.xml).

Pourquoi et quand exécuter cette tâche

Dans votre fichier wc-search.xml personnalisé, modifiez le type de nœud <_config:profile>.
Remarque : Pour ajouter ou supprimer une configuration dans un profil de recherche existant, ajoutez un nouveau profil dans votre fichier wc-search.xml personnalisé qui étend le profil existant à modifier.

La procédure suivante peut être utilisée pour modifier (plutôt que d'ajouter ou de supprimer) une valeur d'une propriété existante dans un profil de recherche, qui est défini dans le fichier wc-search.xml.

Procédure

  1. Ouvrez HCL Commerce Developer et basculez vers la vue Explorateur d'entreprise.
  2. Créez un fichier de configuration HCL Commerce Search personnalisé (wc-search.xml) s'il n'y en a pas :
    1. Accédez au chemin suivant : workspace_dir\search-config-ext\src\runtime\config
    2. Dans le répertoire, config accédez au répertoire com.ibm.commerce.search. Si ce répertoire contient une version personnalisée du fichier wc-search.xml, alors ouvrez le fichier et passez à l'étape 4.
    3. Créez un fichier wc-search.xml vide dans le répertoire com.ibm.commerce.search. Ce fichier est votre fichier wc-search.xml personnalisé.
  3. Ajoutez les éléments XML de base dans votre fichier wc-search.xml personnalisé :
    1. Ouvrez votre fichier personnalisé wc-search.xml vide dans un éditeur XML.
    2. Copiez le code suivant dans le fichier :
      <?xml version="1.0" encoding="UTF-8"?>
      
      <_config:search-config
      	xmlns:_config="http://www.ibm.com/xmlns/prod/commerce/foundation/config"
      	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      	xsi:schemaLocation="http://www.ibm.com/xmlns/prod/commerce/foundation/config ../xsd/wc-search.xsd ">
      
      	<_config:server name="BasicConfiguration">
      		<_config:embedded />
      	</_config:server>
      
      </_config:search-config>
  4. Modifiez le fichier de configuration de recherche.
    1. Modifiez le fichier de configuration HCL Commerce Search Search_home\resources\search\runtime\config\com.ibm.commerce.search\wc-search.xml.

      Ne modifiez pas les propriétés directement dans ce fichier, car vos modifications seraient écrasées pas les mises à jour ultérieures des produits IBM.

    2. Copiez les éléments XML des propriétés du fichier de configuration de HCL Commerce Search par défaut que vous souhaitez modifier vers votre fichier wc-search.xml personnalisé. Insérez les éléments XML copiés au-dessus de l'élément </_config:search-config>.

      Même si vous ne copiez que certains éléments, vous devez conserver leur hiérarchie XML dans le fichier. Par exemple, pour modifier la propriété définie dans un élément <_config:param> spécifique, conservez les éléments parent et ancêtre de l'élément <_config:param>, mais supprimez tous les objets de même niveau. Vous devez également conserver l'ordre des éléments de même niveau, car ils sont attendus dans le même ordre qu'ils apparaissent dans le fichier de configuration par défaut. Pour consulter un exemple, voir Exemple 1 : Modification des propriétés dans le fichier wc-search.xml personnalisé.

    3. Modifiez les valeurs des propriétés copiées.
    4. Avant l'élément </_config:search-config>, ajoutez une liste des profils qui héritent directement ou indirectement du profil pour lequel vous avez modifié les valeurs de propriété.

      Les profils de recherche ont une structure hiérarchique. Le fichier wc-search.xml par défaut contient un certain nombre de profils qui héritent directement et indirectement d'éléments provenant d'autres profils. Par exemple, le profil IBM_Global comporte un certain nombre de profils qui en héritent. Pour vous assurer que les valeurs que vous modifiez sont récupérées par les profils étendus, vous devez inclure une liste de ces profils dans votre fichier wc_search.xml personnalisé. En incluant cette liste, les valeurs de propriété que vous modifiez sont correctement fusionnées entre les deux fichiers. Pour consulter un exemple, voir Exemple 1 : Modification des propriétés dans le fichier wc-search.xml personnalisé.

  5. Enregistrez et fermez votre fichier wc-search.xml personnalisé.
  6. Testez vos changements de configuration.

Exemple 1 : Modification des propriétés dans le fichier wc-search.xml personnalisé

L'exemple suivant montre le contenu d'un fichier wc-search.xml personnalisé qui modifie trois propriétés définies dans le profil IBM_Global :

<?xml version="1.0" encoding="UTF-8"?>
<_config:search-config
	xmlns:_config="http://www.ibm.com/xmlns/prod/commerce/foundation/config"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.ibm.com/xmlns/prod/commerce/foundation/config ../xsd/wc-search.xsd ">

	<_config:server name="BasicConfiguration">
		<_config:embedded />
	</_config:server>

A
    <_config:profile name="IBM_findWebContentsBySearchTerm" indexName="UnstructuredContent"> 
       <_config:query> 
              <_config:param name="maxRows" value="50"/> 
       </_config:query> 
       <_config:spellcheck> 
              <_config:param name="limit" value="3"/> 
       </_config:spellcheck>
    </_config:profile>
B
</_config:search-config>
Dans l'exemple précédent, le fragment de code qui commence par A et se termine par B est le code inséré qui modifie trois propriétés :
  • maxRows : La valeur de la propriété passe de 100 à 50.
  • limit : La valeur de la propriété passe de 5 à 3.
Notez que les éléments parent et ancêtre de chaque élément <_config:param> sont conservés dans le fichier wc-search.xml personnalisé.

Vous pouvez définir un nouveau profil de recherche personnalisé pour répondre à vos besoins métier. Le profil de recherche personnalisé peut être modélisé à partir d'un profil existant et peut inclure des implémentations par défaut et personnalisées. Un scénario courant où vous pouvez définir des profils personnalisés, c'est lorsqu'aucun des profils par défaut ne répond à vos besoins métier. Ou, lorsque vous voulez que certaines logiques s'exécutent avant d'autres logiques. Par exemple, en définissant un nouveau fournisseur personnalisé qui doit s'exécuter avant l'un des fournisseurs ou processeurs par défaut.

Le nouveau profil de recherche doit être conforme à la définition de schéma XML du fichier wc-search.xml. L'avantage de définir un nouveau profil, c'est que vous avez un contrôle total sur la façon dont le profil est conçu. Toutefois, si le profil est destiné à être utilisé par une méthode de ressource REST externe, vous devez le mapper à une méthode de ressource REST dans le fichier wc-rest-resourceconfig.xml.

Avant de créer un profil de recherche personnalisé, examinez les ordres de configuration de fichier de définition de schéma XML wc-search.xml et les éléments enfant pris en charge. Passez en revue les profils de recherche WebSphere Commerce et identifiez le service REST à mapper à votre profil de recherche personnalisé. Utilisez son profil de recherche par défaut comme référence lors de la conception de votre nouveau profil de recherche :
  1. Dans votre fichier wc-search.xml étendu, définissez les éléments d'ouverture et de fermeture config:profile, avec le nom et les attributs indexName obligatoires. Par exemple :
    <_config:profile name="X_findProductsBySearchTerm" indexName="CatalogEntry">
    </_config:profile
  2. Ajoutez les différentes configurations requises, telles que la requête, la facette et le résultat. Par exemple :
    <_config:profile name="X_findProductsBySearchTerm" indexName="CatalogEntry">
    <_config:query>
    List of all parameters, providers, fields, preprocessors, and post processors in their expected order
    </_config:query>
    <_config:result>
    List all of the result fields
    </_config:result>
    </_config:profile>
  3. Enregistrez le nouveau profil de recherche personnalisé dans le fichier workspace_dir\search-config-ext\src\runtime\config\com.ibm.commerce.rest\wc-rest-resourceconfig.xml.