After stopping Roller, deleting the contents of the search-index directory, and restarting Roller, the search is only partially working.

Some searches return appropriate results, while others yield 0 results when valid results exist. Often, a search for a term returns 1 or 2 recent results, but is missing other earlier results (using Google search for comparison).

I tried to find a common denominator for results that *are* being returned, generally more recent entries are better indexed. But I have also seen cases where entries were returned that *didn't* contain the search term.

There are no errors to indicate any problems in the roller logs.

Sounds like a corrupted index? But I'm suspicious of it happening right on the heels of being created in the first place. Do I have to stop Roller before deleting the contents of search-index/ in order to force Roller to create a new index?

Here's the contents of my search-index/ directory:

  23764 Jan 23 22:58 _1f.cfs
     10 Jan 23 23:02 _1f.del
   7175 Jan 24 01:33 _1t.cfs
  22067 Jan 23 14:43 _n.cfs
     10 Jan 24 01:33 _n.del
      4 Jan 24 01:33 deletable
     43 Jan 24 01:33 segments

Any way to determine if there's something strange going on there? I couldn't find any documentation about how the indexing and search work in Roller 2.1 (or any version).

-emily

Dave wrote:
On 1/19/07, Emily Lynema <[EMAIL PROTECTED]> wrote:

I have a roller 2.1 installation. Our search function used to work
appropriately, but is no longer returning any results for terms I know
exist. As far as I know, we haven't made any configuration or code
changes that would impact search functionality.

I took a look at our roller_data/search-index directory, and I only see
2 files: segments and .index-inconsistent. It looks like the actual
index is missing, as our development install with functioning search has
several files named like _a.cfs.

The logs indicate an error creating the writer to the index:

INFO  2007-01-19 11:32:29,824 WriteToIndexOperation:run - Starting
search index operation
ERROR 2007-01-19 11:32:29,830 IndexOperation:beginWriting - ERROR
creating writer
INFO  2007-01-19 11:32:29,831 WriteToIndexOperation:run - Search index
operation complete

I checked write permissions, and the seasrch-index directory should be
writeable by the user running our roller web application.

I tried to trace the index operations back through the code, and I think
the error might is caused by these lines in IndexOperation.java:

  try {
             writer = new IndexWriter(manager.getIndexDirectory(),
IndexManagerImpl.getAnalyzer(), false);
         } catch (IOException e) {
             mLogger.error("ERROR creating writer");
         }


But I'm just not familiar enough with the code to know what the problem
is. Any ideas?


Sounds like you have a corrupted search index and Roller is failing to
create a new index due to... something, it's hard to tell what. I wish
that logger line was:

             mLogger.error("ERROR creating writer",   e   );


I'm not sure what the bug is, but you should be able to work around it
by stopping Roller, deleting the contents of your search index
directory and then restarting, Roller will then rebuild your search
index and search should start working again.

- Dave

--
Emily Lynema
Systems Librarian for Digital Projects
Information Technology, NCSU Libraries
919-513-8031
[EMAIL PROTECTED]

Reply via email to