Enabling search indexing

To enable smart search indexing for all websites:

  1. Open the Settings application.
  2. Navigate to the System -> Search category.
  3. Select the Enable smart search indexing check box.
  4. Click Save.

The setting applies to both Azure Search indexes and locally stored indexes. You can now create search indexes, and the system automatically logs indexing tasks whenever content covered by an existing index is added, modified or deleted.

Tip

You can find a list of all indexing tasks that are waiting to be processed in the Smart search application on the Azure tasks or Local tasks tabs. Here you can:

  • Look for information if you encounter problems with new content not being indexed correctly
  • Delete () tasks from the indexing queue to stop unnecessary or problematic indexing

See also: Monitoring search indexing tasks

Note – File system permissions

If you wish to use local search indexes, your application must have the write permission for the ~/App_Data folder on the server’s file system. This folder stores the search index files, so the system cannot create and update indexes without the required permissions.

See Disk permission problems to learn how to grant the write permission for the folder.

Processing of indexing tasks

By default, the smart search runs indexing tasks immediately when they are created.

For Azure Search indexing tasks, processing is ensured by the Execute Azure search tasks scheduled task. The task’s scheduling interval is not important – the system automatically runs the task whenever a new Azure Search indexing task is logged (if another instance of the given scheduled task is not already running).

Scheduling indexing tasks for local indexes

For locally stored search indexes, you can disable automatic running of indexing tasks upon creation by adding the CMSProcessSearchTasksByScheduler key to the /configuration/appSettings section of your application’s web.config file:




<add key="CMSProcessSearchTasksByScheduler" value="true" />


When you set this key to true:

  • The system only logs the local search indexing tasks into the database without running them. You need to process the tasks periodically, for example using the Execute local search tasksscheduled task (runs every 4 hours by default).
  • You cannot manually Rebuild indexes unless you also run the process that executes the indexing tasks.

Executing local search tasks via the scheduler on a web farm

If your environment runs in a web farm without a shared file system, you need to configure the Execute local search tasks scheduled task to be executed on each of the web farm servers individually.

See: Configuring scheduled tasks to be executed on every server of a web farm