Configuring the number of crawling threads

Edit settings in the search-config.xml file to specify the maximum number of threads used when crawling. The maximum number of threads that you should specify is the number of applications that you have installed in your deployment.

Before you begin

To edit configuration files, you must use the IBM® WebSphere® Application Server wsadmin client. See Starting the wsadmin client for details.

About this task

By default, the maximum number of threads allowed when crawling is 2, however you can change this value by modifying the search-config.xml file. When you change the maximum number of crawling threads, you might also need to adjust the thread settings for the SearchCrawlingWorkManager on each node. The Search application will use whichever setting is lower. For more information about updating Search work managers, see Updating Search work manager settings.

Procedure

To update the maximum number of crawling threads that can be used when crawling, complete the following steps.
  1. Start the wsadmin client from one of the following directories on the system on which you installed the Deployment Manager:

    Linux: app_server_root\profiles\dm_profile_root\bin

    Windows: app_server_root/profiles/dm_profile_root/bin

    where app_server_root is the WebSphere® Application Server installation directory and dm_profile_root is the Deployment Manager profile directory, typically dmgr01.

    You must start the client from this directory or subsequent commands that you enter do not execute correctly.

  2. After the wsadmin command environment has initialized, enter the following command to initialize the Search environment and start the Search script interpreter:
    execfile("searchAdmin.py")
    If prompted to specify a service to connect to, type 1 to pick the first node in the list. Most commands can run on any node. If the command writes or reads information to or from a file using a local file path, you must pick the node where the file is stored.
    When the command is run successfully, the following message displays:
    Search Administration initialized
  3. Check out the Search cell-level configuration file, search-config.xml, with the following command:

    SearchCellConfig.checkOutConfig("working_dir", "cellName")

    Where:
    • working_dir is the temporary directory to which you want to check out the cell level configuration file. This directory must exist on the server where you are running the wsadmin client. Use forward slashes to separate directories in the file path, even if you are using the Microsoft Windows operating system.
      Note: AIX®, and Linux only: The directory must grant write permissions or the command does not run successfully.
    • cellName is the name of the cell that the Search node belongs to. The command is case-sensitive. If you do not know the cell name, you can determine it by typing the following command in the wsadmin command processor:

      print AdminControl.getCell()

    For example:
    SearchCellConfig.checkOutConfig("c:/search_temp", "SearchServerNode01Cell")
  4. Use the following command:
    SearchCellConfig.setMaxCrawlerThreads(String maxThreadNumber)

    Specifies the maximum number of seedlist threads that can be used when crawling. By default, the value is set to 2.

    This command takes a single argument that specifies the number of threads allowed.

    For example:
    SearchCellConfig.setMaxCrawlerThreads("3")
  5. Check in the updated search-config.xml configuration file using the following wsadmin client command:

    SearchCellConfig.checkInConfig()

  6. To exit the wsadmin client, type exit at the prompt.
  7. Stop the server or servers hosting the Search application, and then restart the Search servers.
    The next time the scheduled task runs, persisted seedlists are retained after indexing finishes.