Troubleshooting Missing Search Results
Overview
From the Elasticsearch-powered global search to the sophisticated filtering options within Sidecar modules, Sugar provides easy ways to find the information you need. In some cases, though, a search may not return the expected results. This article covers the most common reasons why a search in Sugar may appear to be missing data, as well as how best to troubleshoot this issue as both a regular user and an administrator.
Symptoms
A search performed using the global search box or module list view filters fails to return the expected results.
Troubleshooting for Regular Users
For end users, there are a few easy things to try when search results are missing before escalating these types of issues to your Sugar administrator.
User-Specific Global Search Settings
If you are performing a search via the global search box at the top of the screen, confirm the record's module is enabled for searching. To do this, click on the triangle next to the search box and select either "Search all" or the record's specific module (e.g., click "Accounts" when searching for an account name).
Wildcards
If the appropriate module is enabled and the expected results do not appear in the global search, or if a module-specific filter is failing, try performing the search with a wildcard (% or *) character in front of your search query (e.g., %sunny).
Refer to the Search documentation for more information.
Punctuation
When adding wildcards does not resolve the issue, consider whether your search query contains extraneous punctuation. A search for an account entered as "ABC Company" will not be found if you search for "A.B.C. Company". Conversely, a search for "A.B.C. Company" will not return an account saved as "ABC Company".
Less Is More
Keep this important rule in mind every time you perform a search in Sugar: a smaller search query will return more results. To conquer unconventional naming standards or unexpected misspellings, always search for the shortest and most unique portion of a record name. For example, a search for "Standard Chemistry Company" may be more successful if you simply searched for "%chemistry" or even "%chem" because the words "standard" and "company" commonly occur in account names. Also, learn to anticipate and thereby avoid:
- Common data-entry shortcuts (e.g., "inc" instead of "incorporated")
- Spelling mistakes (e.g., a word containing "ie" may be commonly misspelled with "ei")
- Different verb tense (e.g., mining, mine, mined)
- Regional differences (e.g., British- vs. American-English spellings)
Troubleshooting for Admin Users
Once end users have exhausted the possibilities in the previous section, system administrators can explore the following scenarios.
Enabling Modules for System-Wide Global Search
After confirming that the searched-for record exists, the next step an administrator should take when troubleshooting global search is to confirm that the record's module is enabled for search in the system. Follow these steps to check for the module and, if needed, enable it.
- Navigate to the Admin page and click "Search" from the System section.
- Confirm that the relevant module is listed under the Enabled Modules column. If necessary, drag and drop the module from "Disabled Modules" to the list of "Enabled Modules". This will enable the module for searches performed by all users that have access to the module by virtue of their role settings. Avoid enabling rarely-searched modules for a single user. A carefully curated list of search-enabled modules will ensure more relevant search results for the general user.
- Perform a full system index after enabling modules for the Global Search as explained in the Scheduling a System Index section below.
Enabling Individual Fields for Global Search
Individual fields can be enabled for or disabled from Global Search. If a particular field is disabled from global searching but is commonly searched for by users, you can enable the field by navigating to Admin > Studio > {Module Name} > Fields > {Field Name} then editing the Full Text Searchable field. Choosing "Disabled" indicates that the field will not be indexed by the global search engine nor available for searching in the Global Search bar.
Note: Only the following field types can be enabled for global search: Decimal, Integer, URL, Float, TextArea, TextField. For more information about field-level settings, please refer to the Studio documentation.
Scheduling a System Index
Performing a system index may resolve search issues for records that have been recently created or modules that were recently enabled for search. An administrator can schedule a re-index by navigating to Admin > Search and then clicking the Schedule System Index button.
The larger the database, the more resources will be consumed by the index. To reduce the amount of time the index will take to complete during your testing, select only modules relevant to the troubleshooting issue at hand. It is also helpful to enable the "Delete existing data..." checkbox in order to purge the database of old or corrupted data. It is also recommended to start the re-index when user activity is reduced (e.g., at night or on a weekend) to avoid impacting the performance of your system. Once this process is complete, only the selected modules will be indexed for search.
Remember to return to perform a re-index of all the modules that you want to be indexed for search once your testing is complete. Again, it is recommended to start the re-index when user activity is reduced.
Configuring Team and Role Settings
Users can be prevented from seeing search results due to restricted access to the desired record via team or role settings. If teams or roles are the cause of the missing search results, the affected user will also be unable to view the record outside of searching. Since administrators have access to all records regardless of team and role settings, the admin can check that the record's teams overlap with the affected user's teams. Admins should also confirm that the user has no roles assigned affecting their ability to view the record, specifically looking at the Access, List, and View settings for the module containing the missing search result. For more information about this aspect of team and role security, please refer to the Troubleshooting Users Unable to View Records article.