重要说明:

IBM Cloud Pak® for Data 4.8 版本将于 2025 年 7 月 31 日结束支持(EOS)。 欲了解更多信息,请参阅 IBM Cloud Pak for Data 版本 4.X 的停止服务公告
在 版本支持结束之前,升级到 版本。 IBM Cloud Pak for Data 4.8 IBM Software Hub 5.1 有关更多信息,请参阅从 IBM Cloud Pak for Data 版本 4.8 升级到 IBM Software Hub 版本 5.1

重新同步全球搜索 ( IBM Knowledge Catalog )

要开始使用资产和关系的全局搜索索引数据,需要在升级后运行批量同步实用程序。 该程序适用于从 4.7.2 及其后版本升级到更高版本后。

先决条件

必需角色

要完成此任务,您必须具有下列其中一个角色:

  • 集群管理员
  • 实例管理员

批量同步资产

为资产的全局搜索索引运行批量同步。 确保您以管理员身份或通过命令行登录到集群。

完成程序后,您就可以使用全局搜索栏搜索资产和关系。

  1. 将以下脚本作为 cpd_gs_sync.sh复制到本地环境中:

    #!/bin/bash
    
    function prompt_for_namespace(){
        read -p "Please provide namespace in which WKC is installed: " NAMESPACE
        echo "Job will be deployed into \"$NAMESPACE\" namespace"
    }
    
    function all_container_confirmation(){
        read -p "ARE YOU SURE YOU WANT TO CONTINUE? THIS WILL AFFECT ALL CONTAINERS, AND MAY TAKE A LONG TIME. TYPE
        \"YES\" TO PROCEED: " PROCESS_ALL
        if [[ $PROCESS_ALL != "YES" ]]; then
            echo "Job run cancelled."
            exit 0
        fi
        echo "All containers will be processed"
    }
    
    function prompt_for_list_of_catalogs(){
        read -p "Please provide the list of containers to synchronize separated by commas, empty list indicates
        processing all containers(catalog/project/space): " CATALOGS_STRING
        IFS=', ' read -r -a CATALOGS <<< "$CATALOGS_STRING"
        if [[ $CATALOGS_STRING == "" ]]; then
            all_container_confirmation
        else
            echo "Following containers will be processed: "
            for index in "${!CATALOGS[@]}"
            do
                echo "$index - ${CATALOGS[index]}"
            done
        fi
    }
    
    function construct_db_list_string(){
        DB_STRING="["
        first=true
        for index in "${!CATALOGS[@]}"
        do
            if [ $first == false ]; then
                DB_STRING+=","
            fi
            first=false
            DB_STRING+="\"${CATALOGS[index]}\""
        done
        DB_STRING+="]"
    }
    
    function patch_cronjob(){
        oc set env -n $NAMESPACE cronjob/wkc-search-reindexing-cronjob dbs_to_sync=$DB_STRING
    }
    
    function spawn_job(){
        oc delete job -n $NAMESPACE wkc-search-reindexing-job
        oc create job -n $NAMESPACE --from=cronjob/wkc-search-reindexing-cronjob wkc-search-reindexing-job
    }
    
    function restore_cronjob(){
        oc set env -n $NAMESPACE cronjob/wkc-search-reindexing-cronjob dbs_to_sync=[]
    }
    
    prompt_for_namespace
    prompt_for_list_of_catalogs
    construct_db_list_string
    patch_cronjob
    spawn_job
    restore_cronjob
    
  2. 使用以下命令从步骤 1 执行代码:

    chmod +x ./cpd_gs_sync.sh
    
    
  3. 使用以下命令执行作业:

    ./cpd_gs_sync.sh
    

    根据需要遵循终端中的提示来定制作业。

    注: 如果容器列表为空,那么将重新同步所有目录,项目和工作空间。
  4. 运行以下命令以检查作业 (wkc-search-reindexing-job) 的状态:

    oc get jobs -n ${CPD_INSTANCE_PROJECT} -w | grep reindexing
    

    作业完成后,将显示状态:

    wkc-search-reindexing-job                      1/1           3m52s      20m
    

批量同步关系

从 4.7.2 及其后版本升级到更高版本后,运行关系批量同步,以便能够使用关系的全局搜索索引数据。 确保您以管理员身份或通过命令行登录到集群。

完成操作后,您就可以使用全局搜索栏搜索关系,并在关系表中按项目名称排序。

  1. 将以下脚本作为 cpd_gs_sync.sh复制到本地环境中:

     #!/bin/bash
    
     function prompt_for_namespace(){
         read -p "Please provide namespace in which WKC is installed: " NAMESPACE
         echo "Job will be deployed into \"$NAMESPACE\" namespace"
     }
    
     function all_container_confirmation(){
         read -p "ARE YOU SURE YOU WANT TO CONTINUE? THIS WILL AFFECT ALL CONTAINERS, AND MAY TAKE A LONG TIME. TYPE
         \"YES\" TO PROCEED: " PROCESS_ALL
         if [[ $PROCESS_ALL != "YES" ]]; then
             echo "Job run cancelled."
             exit 0
         fi
         echo "All containers will be processed"
     }
    
     function prompt_for_list_of_catalogs(){
         read -p "Please provide the list of containers to synchronize separated by commas, empty list indicates
         processing all containers(catalog/project/space): " CATALOGS_STRING
         IFS=', ' read -r -a CATALOGS <<< "$CATALOGS_STRING"
         if [[ $CATALOGS_STRING == "" ]]; then
             all_container_confirmation
         else
             echo "Following containers will be processed: "
             for index in "${!CATALOGS[@]}"
             do
                 echo "$index - ${CATALOGS[index]}"
             done
         fi
     }
    
     function construct_db_list_string(){
         DB_STRING="["
         first=true
         for index in "${!CATALOGS[@]}"
         do
             if [ $first == false ]; then
                 DB_STRING+=","
             fi
             first=false
             DB_STRING+="\"${CATALOGS[index]}\""
         done
         DB_STRING+="]"
     }
    
     function patch_cronjob(){
         oc set env -n $NAMESPACE cronjob/wkc-search-relationships-cronjob dbs_to_sync=$DB_STRING
     }
    
     function spawn_job(){
         oc delete job -n $NAMESPACE wkc-search-relationships-job
         oc create job -n $NAMESPACE --from=cronjob/wkc-search-relationships-cronjob wkc-search-relationships-job
     }
    
     function restore_cronjob(){
         oc set env -n $NAMESPACE cronjob/wkc-search-relationships-cronjob dbs_to_sync=[]
     }
    
     prompt_for_namespace
     prompt_for_list_of_catalogs
     construct_db_list_string
     patch_cronjob
     spawn_job
     restore_cronjob
    
  2. 使用以下命令从步骤 1 执行代码:

    chmod +x ./cpd_gs_sync.sh
    
    
  3. 使用以下命令执行作业:

    ./cpd_gs_sync.sh
    

    根据需要遵循终端中的提示来定制作业。

    注: 如果容器列表为空,那么将重新同步所有目录,项目和工作空间。
  4. 运行以下命令检查任务 (wkc-search-relationships-job) 的状态:

    oc get jobs -n ${CPD_INSTANCE_PROJECT} -w | grep relationships
    

    作业完成后,将显示状态:

    wkc-search-relationships-job                      1/1           3m52s      20m
    
  5. 作业状态为完成时,运行以下 patch 命令以允许使用全局搜索关系:

    oc patch ccs ccs-cr -n ${CPD_INSTANCE_PROJECT} --type=merge --patch='{"spec":   {"portal_catalog_is_global_search_relationships_enabled": "true"}}'
    
  6. 要确保 portal-catalog pod 已重新启动,请运行以下命令:

    oc get pod -n ${CPD_INSTANCE_PROJECT} -w | grep portal-catalog
    

Parent topic: 管理 IBM Knowledge Catalog