Case Study: Scalability/Performance issues re lucene indexing


The following case study describes the performance/scalability issues of an existing custom implementation, which allows editorial stuff to query for existing content elements, select a particular element and add it to a specific web page. A content element is typically made up of a title, subtitle, image and a short text. The goal of this functionality is to allow editorial stuff to re-use the same content elements on various web pages. For example a teaser about a meal/recipe which fits together with certain red wines, whereas each red wine would have its own web page describing the details of the particular red wine.



Root Cause


Quick Fix

  • Disable automatic lucene indexing (for example set the parameters repo-auto-index-fulltext and repo-auto-index-properties inside the Yarep repository configuration to false.)
  • Index explicitely by using for example org.wyona.yarep.core.Repository#getIndexer() and in particular the methods index(Node) and removeFromIndex(Node) within the custom code.

Long term solution


Lesson learned

  • Do not get distracted, but try to stay focused on the most important issues.
  • Make sure to analyze and really understand the problem and don't start hunting ghosts.

Your comments are much appreciated

Is the content of this page unclear or you think it could be improved? Please add a comment and we will try to improve it accordingly.