How do you regenerate a search index in IBM Rational Change when a search results in only some Change Requests being found?
When you search for a Change Request (CR) and the results returned do not include some CRs you know should be there, you may have to regenerate or rebuild the search index.
Diagnosing the problem
Resolving the problem
The following steps will help resolve the issue.
Caution! This action creates an index across all databases for the installation. This can take time to process, and search results may be incomplete while the index is rebuilding. Contact Rational Client support if you want to verify the index before you attempt a rebuild.
- Remove the files below from
wsconfig/system and indexdirectories:
rm create.tmr enabled.tmr searchInformation.dat search.lock
rm -Rf index
Any .redo or .idx files in the system directory exist due to a failed recreate and would not exist if an index generation had succeeded.
- Log into Rational Change as the admin user
- Navigate to the Administration > Search > Status tab
- Click on Regenerate Index
If the Regenerate Index and Update Index buttons are missing, then rename or delete following file:
NOTE: It is possible to create the index from the command line using a Perl Script. For example: Consider the following debug script to create the search index:
All source code and/or binaries included in this document are referred to here as "the Program". IBM is not providing program services of any kind for the Program. IBM is providing the Program on an "AS IS" basis without warranty of any kind. IBM WILL NOT BE LIABLE FOR ANY ACTUAL, DIRECT, SPECIAL, INCIDENTAL, OR INDIRECT DAMAGES OR FOR ANY ECONOMIC CONSEQUENTIAL DAMAGES (INCLUDING LOST PROFITS OR SAVINGS), EVEN IF IBM, OR ITS RESELLER, HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
# This script creates the sort index form scratch.
# This must be run as the admin user.
# The Change Server must be active but users should not be on the
# database at the time you run this.
my $csapi = new ChangeSynergy::csapi();
my $aUser = $csapi->Login("admin", "myPassword", "Admin",
my $database= $aUser->getUserDatabase() ;
print "db: ".$database."!";
my $tmpstr = $csapi->CreateIndex($aUser);