This article is intended to explain indexing with the previous Jama model present in 2015.5 and below.
Currently Jama uses Lucene to search for objects, whether the object is an item, a node in the explorer tree, a revision, a comment, etc. Lucene uses the indexes to quickly find the objects that comply with a search criteria. Jama application creates and writes the indexes in search folder in contour_home
. If you have On-premises version of Jama you have access to this folder. If you are hosted, this folder will be on the server and you do not have access to it.
Below is the snapshot of the search folder in the contour home:
Each folder contains the indexes for that object. These are not tables in the database; these are Jama objects. This means the values for the indexes in each object may be fetched from several tables, e.g. some of the fields that are indexed in contouritem are name, documentType, testRunSet (in case the contouritem is a test run). The value for these fields are in tables document, documenttype and testset respectively.
During a full re-index all the indexes will be rewritten from the current values in the database. If there is any missing indexes, it will rewrite all the indexes for all the objects.
Project level re-index:
During a project-level re-index only the items for that project will get re-indexed. This means that the objects that are not project-specific like user and role will not
As for the other objects—comment, evententry, contouritem, revision_item and revision_user— Jama will look into the project id
associated with each entry and only those with the project id equal to the project that is being re-indexed will get updated.