Loading...
Loading...
For the Zing search engine searches that include wildcards at the start of a term can be very inefficient. On large corpus of search data for middle to large sized customers a leading wildcard search will result in a SQL query similar to "SELECT ... FROM ts_word ts_word0 WHERE ts_word0.`word` LIKE '%sitescope' limit 0,501" - effectively forcing the database to read through every word in the corpus to see if they end with the term "sitescope". This does not scale well at the database layer since it cannot make use of a database index. For customers who are being negatively impacted by this issue we recommend either (1) moving to AI Search or (2) adding/setting the property 'glide.ts.allow_leading_wildcard_character' to false. AI Search, which is the technology built to replace Zing, supports wildcards extensively and in a scalable manner. Steps to Reproduce 1. In the global search field in the upper right corner of the main frameset type *sitescope Actual behavior: On a medium to large ts_word table (over a million records) this can take over a minute to complete Expected behavior: search responsiveness should scale to any reasonable search corpus
After carefully considering the severity and frequency of the issue, and the cost and risk of attempting a fix, it has been decided to not address this issue in any current or near future releases. We do not make this decision lightly, and we apologize for any inconvenience. Alternate: Log in to your ServiceNow instance Type "sys_properties.list" in the Filter navigator search bar and press enter Search for a property named 'glide.ts.allow_leading_wildcard_character' If the property exists then set its value to 'false' If the property doesn't exist then click "New" Fill out the property as follows: - Name: glide.ts.allow_leading_wildcard_character - Value: false - Type: true/false - Ignore cache: false Click "Submit" Once you make this change the system will not support any wildcard searches with leading wildcard characters. In other words, it will disallow ENDSWITH and CONTAINS wildcard searches. Note that if this property is set to false, a search such as '*email' will yield NO results. The search engine will think you are looking for the word '*email' which isn't a word and therefore won't have any matches. The user will be required to remove the leading * character to perform a search. For clarity, if the property is set to false, the following behavior would occur: 'email' would yield all documents with the word email and its related, stemmed words (e.g. emailed, emails) '*email' would yield no results 'ema*' would yield any word that starts with 'ema' (e.g. emancipate, Emanuel), including the word email and its related stemmed words (emailed, emails, etc.).
PRB1560898
Click on a version to see all relevant bugs
ServiceNow Integration
Learn more about where this data comes from
Bug Scrub Advisor
Streamline upgrades with automated vendor bug scrubs
BugZero Enterprise
Wish you caught this bug sooner? Get proactive today.