Upgrading zing text search engine


Upgrading Zing Text Search Engine


This article is written for customers and ServiceNow employees. The purpose of the article is to provide guidance in migrating an existing customer to the latest version of the ServiceNow Zing text search engine. There have been four versions of the ServiceNow text index engine, and existing customers are not necessarily automatically updated to the most recent version.


Versions of the ServiceNow text index search engine


  • This engine was used prior to the Aspen release of ServiceNow.
  • It is based on the Apache Lucene core (https://lucene.apache.org/core/).


  • This was the first version of the Zing text index.
  • Apsen text index re-indexing is activated automatically.
  • This replaced the third-party Lucene-style text index.


  • Berlin text indexes support punctuation and dotted quads.
  • This was automatically applied to instances created on Berlin.
  • For existing instances, administrators must convert to Berlin text search manually.


  • This improved performance and eliminated the text index reaper with a new text index structure.
  • This was automatically applied to instances created on Calgary.
  • For existing instances, administrators must convert to Calgary Text Search manually.

Determining your Zing version

If your instance was created before the Calgary version of ServiceNow, you may still be running an out-of-date version of the Zing text search engine. To determine what version of Zing your instance is currently running, look at the glide property called glide.ts.version:

  1. In the navigation filter, enter sys_properties.list or /sys_properties_list.do in the URL.
  2. Search for your property, Name = glide.ts.version
    Possible values for the property are "Aspen", "Berlin", or "Calgary". If your TS version says "Calgary", then you are on the latest version – even if your instance itself is on Dublin, Eureka, Fuji, or later versions of ServiceNow.
Warning: Upgrading the text search engine requires that all text search tables be re-built (aka re-indexed). For customers with sizable tables this can be a very slow process; taking a number of days. During the period of time when the text search tables are being re-built no new records will be searchable and search results will be unreliable. It should also be carefully tested to ensure that there are no performance impacts.


Migrating Zing for instances running Berlin

  1. Go to System Definition > Text Indexes.
  2. Click the Related Link at the bottom of the list entitled Upgrade to Berlin Text Search.


Migrating Zing for instances running Calgary or later

  1. Go to System Definition > Text Indexes.
  2. Click the Related Link at the bottom of the list entitled Upgrade to Calgary Text Search.

How does the migration work?

  • The system goes through a series of operations in the background:
    1. The tables that handle text indexing are altered and all the records in them purged.
    2. Once the tables have been fixed, all text indexes are regenerated. This process may take a while to complete, and you may notice performance degradation or incomplete search results while the indexes are being regenerated.
    3. Punctuation handling is automatically enabled. This process creates additional default global stop words (for example, I've and I'm).
    4. When the upgrade completes, the text_event.upgrade_calgary event is written and marked processed.
      You can see that the migration is still in process by viewing the State field of the records in the System Definition > Text Indexes module.

Instances created on or after the Calgary release

All versions that were originally provisioned on or after the Calgary release are automatically kept up to date. There is no need to upgrade your Zing text search engine if your instance was created on Calgary or a later release.


For more information, see Adminstering Zing Text Search