Generally, if there is an issue with 'keyword' search [or] 'global' search for some specific search terms, it is recommended to schedule text index regeneration on that table. However, regenerating text index on tables that contain huge data (like 'cmdb' and 'sys_metadata') take a long time for the Indexing process to be completed. Also, there are chances that this may not solve the text search issue if text indexing is not the actual cause of the issue.
In such cases, it is advised that customers regenerate text index for a single record on the affected table rather than regenerating text index for the whole table.
- Identify the 'table' where keyword search is not working as expected.
- Identify the 'search term' is present on at least one columns in a record of this table.
- Identify the 'sys_id' of the record which is not coming in search results.
- Execute the below script in Scripts - Background
var gr = new GlideRecord('<table>');
gs.eventQueue("text_index", gr, '[<table>]','update','text_index');
NOTE: In the above script. replace <table> with the table name, <sys_id> with the sys_id of the record whose text index needs to be regenerated
The above script regenerates text index only for a specific record. If the search results are successful i.e., if the search term returns the record correctly, you can schedule text index regeneration on the entire table.
Click here to know more about scheduling text index regeneration on a table.