Lucene Full Text Indexing Debugging - quality-manager/onboarding GitHub Wiki

Lucene Index Inspector Tool

Obtain Luke tool to assist with inspecting generated indexes

Determine index location

  • The server should log something like INFO team.fulltext.service.internal.FullTextServiceImpl - CRJAZ8192I: Full-text Index Location: /private/tmp/_ORpyAe6wEempGvqXuKpNuQ
  • Also there will be an entry in teamserver.properties like com.ibm.team.fulltext.indexLocation=/tmp
  • There will be a hash as filename for the index directory. Each artifact type will have a sub-directory where the indexes are located for that artifact type

Determine if an item exists in the index

  • Launch the Luke tool and open one of the index directories of an artifact type
  • Just pick the defaults when opening the index directory in Luke
  • On the search tab, you can type in a query and run the search to determine if the item exists in the index.

Lucene execution from foundation

  • Debugging the search execution from within the server can be done in the following classes
    • FullTextServiceImpl
    • QueryManagerImpl
    • IndexManagerImpl.DocCollector performs the scoring and filtering of results
      • debug locations would be in the collect method to see if hits are found and in ensureResultsFlushed to see if results are filtered out

Re-indexing in the dev environment

  • run launch config Repotools lucene fulltext reindex

What content is indexed for each item

  • sub classes of AbstractInformationArtifact determine what content is indexed for each artifact

What is reindexed when a full text reindex is done from repotools

  • sub classes of AbstractConfigAwareTextIndexer determine what is reindexed