AI agents: the content index is at /llms.txt. Every page is also available as Markdown — send the request header Accept: text/markdown, or append .md to the page URL.
Xperience Docs

Cookie consent

We use necessary cookies (opens in a new tab) to run our website and improve your experience while browsing. Additional cookies are only used with your consent. You may revoke your consent on the Cookies Policy (opens in a new tab) page or in your browser at any time.

Configure (opens in a new tab)
  • Documentation
    InstallationUsing the Xperience interfaceDeveloping websitesConfiguring XperienceManaging usersSecuring websitesDeploying websitesManaging website contentMultilingual websitesMacro expressionsExternal utilitiesIntegrating 3rd party systemsCustom developmentE-commerce featuresOn-line marketing featuresRelease notes - Xperience 13Xperience terminology glossary
  • Tutorial
    Using the Xperience interfaceDeveloper tutorialBusiness tutorialResource hub for marketers
  • API Examples
    ConfigurationContent managementDevelopmentE-commerceOn-line marketingSocial media
  1. Home
  2. Deploying websites
  3. Running Xperience on Microsoft Azure
  4. Troubleshooting local search indexes on Azure

Troubleshooting local search indexes on Azure


Was this page helpful?

Send us feedback Go back to top
  • Community Questions & Answers (opens in a new tab)
  • Contact support (opens in a new tab)

This page describes solutions to issues related to locally stored smart search indexes when running Xperience applications on Azure.

Deleting .lock files

Quick fix

If the search functionality is not working properly, you can try deleting files with the .lock extension on the blob storage. Connect to your blob storage (for example through Cloudberry for Azure⁠ (opens in a new tab)) and manually delete them.

Explanation

A blob storage is shared between all instances of Xperience. If your Azure environment operates in multiple instances, it is important to prevent collisions. Therefore, to prevent multiple instances from manipulating the same index at the same time and ensure exclusive write operations, Xperience useslocking. Every time the smart search needs to manipulate a search index, it creates a special file with the .lock extension. This file indicates that a search indexer is working with the index. When the work is done, the system deletes the file from the storage.

There are two different lock files in the blob storage:

  • searchtaskindexer.lock – located in the*~/App_Data/CMSModules/SmartSearch* directory.
  • write.lock – located in the directory of specific search indexes.

In some cases, these lock files may not get deleted. This may happen when the process working with the search index ends unexpectedly. When this happens, processing of indexing tasks for locally stored indexes becomes stuck. The solution is to manually delete the lock files.

This problem may occur again if you store the search indexes on an external storage. For example, a scaled-out instance can unexpectedly terminate while working with an index file. To prevent this issue, you can Configure the scheduler to process search tasks.

Configuring the scheduler to process search tasks

Add the following key to the appSettings section of your Xperience administration project's web.config file:

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

Make sure that the Execute local search tasks scheduled task is enabled and set to a reasonable value (for example one hour).

On this page

  • Deleting .lock files