+

Search Tips   |   Advanced Search

Add scheduled tasks for Search


Overview

Use SearchService administrative commands to add scheduled task definitions for the Search application to the Home page database.

The following applications can be indexed:

When defining a scheduled task in the Home page database, specify when the scheduler starts the task.

It is not possible to specify an end time for an indexing task. All tasks run as long as they need to. The startby interval defines the time period by which a task can fire before it is automatically canceled. This mechanism ensures that tasks do not queue up for an overly long period before being canceled, and allows for tasks that run for longer than the default indexing schedule, such as initial index creation.


Define a scheduled task for the Search application

  1. Initialize the Search environment, and start the Search script interpreter:

      cd app_server_root/profiles/Dmgr01/bin
      ./wsadmin.sh -username wasadmin -password password -lang jython
      execfile("searchAdmin.py")

    If successful...

      Search Administration initialized

  2. Add scheduled task definitions in the Home page database.

    SearchService.addBackupIndexTask(String taskName, String schedule, String startbySchedule)

    Define a new scheduled index backup task.

    Arguments:

    taskName Name of the task to be added.
    schedule Time at which the scheduled task starts. Specify in Cron format.
    startbySchedule Time given for the task to run before it is automatically canceled. Specify in Cron format.

    For example:

      SearchService.addBackupIndexTask("WeeklyIndexBackup", "0 0 2 ? * SAT","0 10 2 ? * SAT")

    When the command runs successfully, 1 is printed to the wsadmin console. If the command does not run successfully, 0 is printed to the wsadmin console.

    SearchService.addFileContentTask(String taskName, String schedule, String startBy, String applicationNames, failuresOnly)

    Create a scheduled file content retrieval task.

    Arguments:

    taskName Name of the scheduled task. Must be unique.
    schedule Time at which the scheduled task starts. Specify in Cron format.
    startBy Time given to a task to fire before it is automatically canceled. Specify in Cron format.
    applicationNames Name (or names) of the Connections application to be indexed when the task is triggered. To index multiple applications, use a comma-delimited list. Valid values:

    ecm_files Retrieve files from the Enterprise Content Management repository. Only published files are retrieved; draft files are not included.
    files Retrieve files from the Files application.
    wikis Retrieve files from the Wikis application.

    failuresOnly A flag that indicates that only the content of files for which the download and conversion tasks failed should be retrieved. This argument is a boolean value.

    For example:

      SearchService.addFileContentTask("mine", "0 0 1 ? * MON-FRI", "0 10 1 ? * MON-FRI", "wikis,files","true")

    When the command runs successfully, 1 is printed to the wsadmin console. If the command does not run successfully, 0 is printed to the wsadmin console.

    To replace the task definition for the default 20min-file-retrieval-task, we can also use...

      SearchService.addFileContentTask

    By default, this task runs every 20 minutes, except for a one-hour period between 01:00 and 02:00. To replace the default task settings, first remove the existing task using...

      SearchService.deleteTask(String taskName)

    Then, to create a new task with the values specified, use...

      SearchService.addFileContentTask

    For example:

      SearchService.deleteTask("20min-file-retrieval-task")
      SearchService.addFileContentTask("20min-file-retrieval-task", "0 1/20 0,2-23 * * ?", "0 10/20 0,2-23 * * ?", "all_configured", "false")

    SearchService.addIndexingTask(String taskName, String schedule, String startBy, String applicationNames, Boolean optimizeFlag)

    Create a new scheduled indexing task definition in the Home page database.

    Arguments:

    taskName Name of the scheduled task. Must be unique.
    schedule Time at which the scheduled task starts. Specify in Cron format.
    startBy Time given to a task to fire before it is automatically canceled. Specify in Cron format.

    Use to ensure that indexing tasks are not queued up and running into server busy times. Under normal conditions, the only factors that might cause a task to be delayed are that overlapping or coincident tasks are trying to fire at the same time, or an earlier task is running for a long time.

    applicationNames Name (or names) of the Connections application to be indexed when the task is triggered. To index multiple applications, use a comma-delimited list. Valid values:

    • activities
    • blogs
    • calendar
    • communities
    • dogear
    • ecm_files
    • files
    • forums
    • people_finder
    • profiles
    • status_updates
    • wikis

    optimizeFlag A flag that indicates if an optimization step should be performed after indexing. This argument is a boolean value.

    The optimization operation is both CPU and I/O intensive. For this reason, the operation should be performed infrequently and, if possible, during off-peak hours.

    Note that when we install Connections, a search optimization task is set up to run every night by default.

    All arguments are required.

    For example:

      SearchService.addIndexingTask("customDogearAndBlogs", "0 0 1 ? * MON-FRI", "0 10 1 ? * MON-FRI", "dogear,blogs","true")

    When the command runs successfully, 1 is printed to the wsadmin console. If the command does not run successfully, 0 is printed to the wsadmin console.

    The refreshTasks() command should be used after this command for the new task definitions to take effect immediately. Otherwise, the changes take place when the Search application is next restarted.

    We can also use the command...

      SearchService.addIndexingTask

    ...to replace the 15min-search-indexing-task that is automatically configured when we install Connections. By default, all installed Connections applications are crawled and indexed every 15 minutes, except for a one-hour period between 01:00 and 02:00. To replace the default indexing task settings, first remove the existing indexing task using...

      SearchService.deleteTask(String taskName)

    Then, to create a new indexing task with the values specified, use

      SearchService.addIndexingTask

    For example:

      SearchService.deleteTask("15min-search-indexing-task")
      SearchService.addIndexingTask("15min-search-indexing-task", "0 1/15 0,2-23 * * ?", "0 10/15 0,2-23 * * ?", "all_configured", "false")

    SearchService.addOptimizeTask(String taskName, String schedule, String startBy)

    Create a new index optimization scheduled task definition.

    Arguments:

    taskName Name of the scheduled task. Must be unique.
    schedule Time at which the scheduled task starts. Specify in Cron format.
    startBy Time given to a task to fire before it is automatically canceled. Specify in Cron format.

    Use to ensure that indexing tasks are not queued up and running into server busy times. Under normal conditions, the only factors that might cause a task to be delayed are that overlapping or coincident tasks are trying to fire

    All arguments are required.

    The optimization operation is both CPU and I/O intensive. For this reason, the operation should be performed infrequently and, if possible, during off-peak hours.

    Note that when we install Connections, a search optimization task is set up to run every night by default. See Search default tasks for more information.

    For example:

      SearchService.addOptimizeTask("customOptimize", "0 0 1 ? * MON-FRI", "0 10 1 ? * MON-FRI")

    When the command runs successfully, 1 is printed to the wsadmin console. If the command does not run successfully, 0 is printed to the wsadmin console.

    The refreshTasks() command should be used after this command for the new task definitions to take effect immediately. Otherwise, the changes take place when the Search application is next restarted.

    We can also use the SearchService.addOptimizeTask command to replace the nightly-optimize-task that is automatically configured when we install Connections. By default, this task runs nightly at 01:30. To replace the default optimize task settings, first remove the existing optimize task using the SearchService.deleteTask command. Then, use the SearchService.addOptimizeTask command to create a new optimize task with the values specified.

    For example:

      SearchService.deleteTask("nightly-optimize-task")
      SearchService.addOptimizeTask("nightly-optimize-task", "0 30 1 * * ?", "0 35 1 * * ?")

    SearchService.addSandTask(String taskName, String schedule, String startBy, String jobs)

    Create a new scheduled task definition for the social analytics service in the Home page database. Arguments:

    taskName Name of the scheduled task. Must be unique.
    schedule Time at which the scheduled task starts. Specify in Cron format.
    startBy Time given to a task to fire before it is automatically canceled. Specify in Cron format.

    Use to ensure that indexing tasks are not queued up and running into server busy times. Under normal conditions, the only factors that might cause a task to be delayed are that overlapping or coincident tasks are trying to fire

    jobs Name, or names, of the jobs to be run when the task is triggered. To index multiple jobs, use a comma-delimited list. Valid values: evidence, graph, manageremployees, tags, taggedby, and communitymembership.

    All the arguments are required.

    For example:

      SearchService.addSandTask("customSaNDIndexTask", "0 0 1 ? * MON-FRI", "0 10 1 ? * MON-FRI", "evidence,graph,manageremployees,tags,taggedby,communitymembership")

    When the command runs successfully, 1 is printed to the wsadmin console. If the command does not run successfully, 0 is printed to the wsadmin console.

    To replace the nightly-sand-task that is automatically configured when we install Connections, we can also use...

      SearchService.addSandTask

    By default, the task runs nightly at 01:00. To replace the default SAND task settings, first remove the existing task using the SearchService.deleteTask(String taskName) command. Then use SearchService.addSandTask to create a new SAND task with the values specified.

    For example:

      SearchService.deleteTask("nightly-sand-task")
      SearchService.addSandTask("nightly-sand-task", "0 0 1 * * ?", "0 5 1 * * ?", "evidence,graph,manageremployees,tags,taggedby,communitymembership")

  3. To refresh the Home page database to include the newly-added tasks:


Parent topic:
Configure scheduled tasks


Related:
Scheduling tasks
Delete scheduled tasks for Search
Add scheduled tasks for the social analytics service
List scheduled tasks
Restore the default scheduled tasks for Search
Enable scheduled tasks
Search default scheduled tasks