Migrating index cores from BOD-based search to Rest-based search

To migrate your Search index cores, you must individually register the configurations for each core in the SRCHCONF and SRCHCONFEXT database tables. During Search server startup, your index cores are created according to the configurations defined in the SRCHCONF and SRCHCONFEXT tables.

About this task

Procedure

  1. Drop all of the temporary and custom temporary tables from your database, except for the following temporary tables:
    • TI_DELTA_CATENTRY
    • TI_DELTA_CATGROUP
    • TI_DELTA_INVENTORY

    Your temporary tables use a TI_ prefix. Whereas, your custom temporary tables use a XI_ prefix.

    Changes were made to the temporary tables between the previous versions of HCL Commerce and HCL Commerce Version 9. Failure to drop the temporary tables might result in preprocess errors, for example, SQLSTAE=56098. For more information about temporary HCL Commerce Search tables, see Temporary table schema definition.

  2. Under the search-config-ext\src\main\resources\index\managed-solr\config\v3-index-ext directory, create a directory called xCatalogEntry. Then, add the following extended Solr core configuration files to the xCatalogEntry folder.
    • schema.xml
    • solrconfig.xml
    • wc-data-config.xml
  3. Register the master index core in the SRCHCONFEXT table by running an INSERT SQL statement, like the following example.
    INSERT INTO SRCHCONF(indextype, indexscope, languages, config) 
    values('xCatalogEntry', '10001', '-1', 'IndexScopeTag=0,createAll=true,PreProcessConfigDirectory=/v3/db2,Version=3')
    Where:
    indextype
    Indicates the search engine index to set up. Valid values for the column are:
    CatalogEntry
    Sets up the index for catalog entries in the master catalog.
    CatalogGroup
    Sets up the index for categories in the master catalog.
    indexscope
    The scope of the indexed data. For example, if the scope is the master catalog, enter the master catalog here.
    languages
    Indicates which language to use for the corresponding subtype search index core.
    Note: "LANGUAGE_ID" must be null for Inventory or Price.
    config
    Indicates extra configurations for a specified Search index core. Separate different configurations by commas. You can set the following:
    createAll

    Indicates whether to create this index core under the workspace. Setting this value to true automatically creates an index core for all workspaces, which found in WSSCHEMA table. If you set this value to false, the index cores for all workspaces are not created automatically.

    PreProcessConfigDirectory
    Specifies the directory of your preprocess XML files.
    Version
    The index version. The default value is 3.
  4. Register the extension index core into SRCHCONFEXT table by running an INSERT SQL statement, like the following example.
    INSERT INTO srchconfext (srchconfext_id,indextype,indexscope,indexsubtype,config)
    VALUES(-100,'CatalogEntry','10001','xCatalogEntry','');
    srchconfext_id
    indextype
    Indicates the search engine index to set up. Valid values for the column are:
    CatalogEntry
    Sets up the index for catalog entries in the master catalog.
    CatalogGroup
    Sets up the index for categories in the master catalog.
    indexscope
    The scope of the indexed data. For example, if the scope is the master catalog, enter the master catalog here.
    indexsubtype
    Indicates which subtype is set for search index core. Valid values are:
    Structured
    Sets up the index for structured content.
    Unstructured
    Sets up the index for unstructured content.
    WebContent
    Sets up the index for site content.
    Inventory
    Sets up the index for inventory data.
    Price
    Sets up the external index core for price data.
    config
    Indicates extra configurations for a specified Search index core. Separate different configurations by commas. You can set the following:
    createAll

    Indicates whether to create this index core under the workspace. Setting this value to true automatically creates an index core for all workspaces, which found in WSSCHEMA table. If you set this value to false, the index cores for all workspaces are not created automatically.

    PreProcessConfigDirectory
    Specifies the directory of your preprocess XML files.
    Version
    The index version. The default value is 3.
  5. Restart the test server.
  6. Verify the master index at the following URL:
    http://localhost:3737/solr/MC_10001_CatalogEntry_xCatalogEntry/select?q=*:*
    The response resembles the following snippet:
    <?xml version="1.0" encoding="UTF-8"?>
    -<response> 
       -<lst name="responseHeader">
          <int name="status">0</int>
          <int name="QTime">62</int>
          -<lst name="params">
             <str name="q">*</str>
          </lst>
       </lst>
       <result name="response" start="0" numFound="0"/> 
    </response>
    
  7. Verify the extension index at the following URL:
    http://localhost:3737/solr/MC_10001_CatalogEntry_xCatalogEntry_generic/select?q=*:*
  8. Repeat these steps for all of your index cores that you want to migrate.