This documentation supports the 21.3 version of BMC Helix ITSM: Smart IT.To view an earlier version, select the version from the Product version menu.

Troubleshooting Global search


When you search for information in Smart IT, sometimes data is not indexed properly or Full text search (FTS) or Global search does not work properly. As a result, Smart IT might take a long time to display incidents or fetch results. Use this information to understand and resolve the problem or to create a BMC Support case.

Symptoms

  • You do not get any results while performing Global search in Smart IT.
  • Poor performance is observed while performing a search in Smart Recorder.
  • Smart Recorder does not return suggested results.
  • You encounter a performance issue while performing a Global search.
  • You get search results that are incorrect or do not match your query.
  • You receive error messages while performing an FTS or Global search.

Scope

  • One or more users experience these problems.
  • In a Server Group environment, these problems might affect one or more servers.

Resolution

Perform the following steps to troubleshoot the FTS search issues:

Step

Task

Description

1

Perform test searches in Smart IT and BMC Helix ITSM.

Perform a few basic searches in BMC Helix ITSM, and check if the application fetches any search results.

2

If the search takes time, check the FTS Threshold value.

  1. On the AR System Administrator Console, select System > General > Server Information.
  2. Click the FTS tab.
    The Full Text Search Threshold field displays 10000, which is the default value.
  3. Change this value to 2000 and click Apply.

Best practice: We recommend that you set the FTS threshold to 2000 to improve the Smart IT search performance.

3

If the performance issue persists, reproduce the issue with the browser developer tools.

  1. Press the F12 key in the Smart IT Universal Client and enable the browser developer tools.
  2. Go to the Network tab and select All.
  3. Select the /ux/rest/globalsearch rest call and verify if the response of the REST call is '500'.

4

Check the search results by running the search directly on the MFS:MultiFormSearch search form.

Open the MFS:MultiFormSearch form in mid-tier. Search for the same keyword that you used in Global search and check the results.

5

Change the log level of the UX or Smart IT log to DEBUG.

For information about enabling the debug log, see the log.level configuration parameter description in the Centralized-configuration topic. 

6

Check the response from the Global search in the ux/smartit log.

Check for the word ERROR in the ux.log or smartit.log and verify the response of the ux/rest/globalsearch REST call.
The response is /smartit/rest/globalsearch/suggest/search.

7

Enable additional logging level for Global search.

In the logback.xml file, add the following logging level to capture the Global search occurrences.

Example:

<!--Optional Globalsearch logger-->
 <if condition='${LOG_GLOBALSEARCH}'>
 <then>
 <logger name="com.bmc.bsm.myit.service.globalsearch" level="DEBUG" additivity="false">
 <appender-ref ref="GLOBALSEARCH-FILE"/>
 </logger>
 </then>
 </if>

8

Check for any indexing activity on your environment by verifying the FTS configuration.

Verify the FTS configuration.

For more information, see Troubleshooting FTS configuration issues and Troubleshooting Full Text Search.

9

Enable API and SQL logging on the server where the search is being performed.



For load-balanced environments, enable API and SQL logging from all user-facing servers in the group.

For more information about how to enable logs across servers and server groups, see Managing logs for server groups.

10

Reproduce the issue and note search-related information.

Enable logs and reproduce the problem. 
If you are unable to reproduce the issue, wait until the problem occurs on its own.

Collect the following information to provide to BMC Support:

  • Name of the user who executed the search
  • The search criteria used
  • Time period when the problem occurred

Important:

Analyze Java heap stack if you encounter any of the following problems:

  • Increase in Java heap size
  • AR System Server stops responding
  • FTS plug-in server stops responding

Use a Java Virtual Machine (JVM) or other appropriate tools to obtain a heap dump or thread dump as necessary. Collect the dump files when you observe any issue. 

See the following knowledge articles for more information about collecting a heap or thread dump:

11

Disable logging.

Allow three to five minutes for log buffering before running the Log Zipper utility. Use steps listed in the Enabling server-side AR System logs to disable logging.

12

Collect the logs.

Copy logs to another location where you can view them. Make sure that the logs are not overwritten.

Review the symptoms and error messages. Use the information in this table to troubleshoot the issue.

13

Create a BMC Support Case.

When creating a case with BMC Support, collect and send logs and detailed information:

  1. Provide the following information as part of your case:
    • Name of the user who performed the search
    • The search criteria used
    • Time when the problem occurred
    • Any error messages received
  2. Run the Log Zipper utility on each affected indexer server and select Zip Logs.
    For more information about this utility, see Collecting diagnostics in a zip file
    For information about how to run the Log Zipper utility using the maintenance tool, see AR System Maintenance tool.
  3. Attach the zip file to your case. You can attach a zip file up to 2 GB.
    For more information, see SFT - Steps to send logs, files, screenshots to BMC Support for a Remedy Product related case.

14

Analyze the logs.

You can review the logs to identify error messages or behaviors. Use the information in this table to help identify possible symptoms and solutions.


After you determine a specific symptom or error message, use the following table to identify the solution:

Symptom

Where

Action

Reference

Global search queries run a full table scan on the CTM:People table.

Global search

Set the value of the useLeadingSearchForPerson parameter as False.

Asset Search is slow and takes time to retrieve results.

Global search

If the search takes a long time, you can improve the search performance by modifying parameters in Server Group Configuration.

  1. Select Remedy Management Console > AR System Server Group Console > Server Group Configuration.
  2. Set the value of the isExclude_TAG_and_CI_ID and useLeadingSearchForAsset parameters as True.


Global Search is slow.

Global search

If the search takes a long time, you can improve the search performance by modifying parameters in Server Group Configuration.

  1. Select Remedy Management Console > AR System Server Group Console > Server Group Configuration.
  2. Set the value of the skipWildcardInGlobalSearch parameter as True.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*