views:

23

answers:

0

My application is using the grails searchable plugin, using compass underneath.

The tables begin indexed is about 36 mb, and is building indexes of about 350 mb. This is small in most peoples books.

If we delete the indexes and start the grails application, the index files are rebuild as expected, but then after about a day of running, we find this error. We are calling the 'reindex' on the TellMeEntity instances as they are saved to make sure the index is updated.

Exception org.compass.core.engine.SearchEngineException: Failed to delete alias [TellMeEntity] and ids [[stored/uncompressed,indexed,omitNorms,omitTf]]; nested exception is java.io.FileNotFoundException: /var/www/web17/log/mne/index/tellmeentity/segments_2 (No such file or directory) at org.compass.core.lucene.engine.transaction.readcommitted.ReadCommittedTransaction(doDelete:348)

Obviously once this error hits, the index are not updated and the searches does not work on the newly entered data.

We have checked the simple things like disk space etc. The 'segments_2' does not exist, but I would expect compass to create it by itself.

In the grails-app/conf/Searchable.groovy: ....

  mirrorChanges = true
  bulkIndexOnStartup = "fork"

....

In my code: ....

def formInstance = new TellMeEntity(name:'form',dataOwner:session.community,createBy:session.zoner,tellMeSite:form).save()
formInstance.reindex()

....

My current experience is that this code works well for about 24 hours, but then starts giving problems. We are generating about 3000 new entries per day, which does not sound like high volume, so I don't think it is volume related.

Any help will be appreciated.