Some improvements and fixes to search index configuration

Review Request #686 — Created Dec. 29, 2008 and discarded


Review Board SVN (deprecated)


We were using "search_index_file" as the variable for the search index, when this really was a directory and not a file. It's been renamed to "search_index_dir." We handle backwards-compatibility of the variable name so as not to break people who have specified a custom path, but this also means that existing configurations with this pointing to the global Review Board install directory will also be migrated. Users will have to deal with this if they want to use search.

Our old default for this variable was a directory inside the installed package directory, which was very wrong. We now point to a "search-index" directory in the site directory, which we also create for them in rb-site.

This also updates things to allow for relative paths.
None yet. I don't have a working PyLucene setup here, but I'd like to get a pair of eyes on this first.
  1. I think this should be fine, but please make sure to test it first.
    1. I have upgrade reviewboard to RC2, but search functionality seems broken.
      Traceback (most recent call last):
        File "/usr/local/lib/python2.5/site-packages/Django-1.0.2_final-py2.5.egg/django/core/handlers/", line 86, in get_response
          response = callback(request, *callback_args, **callback_kwargs)
        File "/usr/local/lib/python2.5/site-packages/ReviewBoard-1.0rc2-py2.5.egg/reviewboard/reviews/", line 728, in search
          store = lucene.FSDirectory.getDirectory(index_file, False)
      JavaError: Cannot create directory: /search-index
    2. The proper place for this is a bug report or the mailing list. is entirely about reviewing the code.
      That said, this is a configuration issue. You'll need to set the search index path to some place your web server can write to.
  1. looks good to me