Grails searchable插件

时间:2010-10-29 08:45:35

标签: plugins grails searchable

我的应用程序正在使用Grails可搜索的插件,使用下方的Compass

开始索引的表大约是36 MB,并且正在构建大约350 MB的索引。这在大多数人的书中都很小。

如果我们删除索引并启动Grails应用程序,索引文件将按预期重建,但经过大约一天的运行后,我们会发现此错误。我们在TellMeEntity实例上调用'reindex',因为它们被保存以确保索引已更新。

  

异常org.compass.core.engine.SearchEngineException:无法删除别名[TellMeEntity]和ids [[stored / uncompressed,indexed,omitNorms,omitTf]];嵌套异常是java.io.FileNotFoundException:/ var / www / web17 / log / mne / index / tellmeentity / segments_2(没有这样的文件或目录)org.compass.core.lucene.engine.transaction.readcommitted.ReadCommittedTransaction(doDelete) :348)

显然,一旦此错误发生,索引不会更新,搜索不会对新输入的数据起作用。

我们检查过磁盘空间等简单的东西。“segments_2”不存在,但我希望Compass能够自己创建它。

grails-app/conf/Searchable.groovy文件中:

...

  mirrorChanges = true
  bulkIndexOnStartup = "fork"

...

在我的代码中:

...

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

...

我目前的经验是,此代码可以在大约24小时内正常运行,但随后开始出现问题。我们每天产生大约3000个新条目,听起来不是很高,所以我不认为它与音量有关。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

从臀部拍摄:你的索引位置/ var / www / web17 / log / mne受某些日志文件旋转过程的影响,错误尝试旋转索引文件? 24小时看起来像是一些基于cron的工作干扰了这里。