Grails для поиска плагин - PullRequest
       20

Grails для поиска плагин

6 голосов
/ 29 октября 2010

Мое приложение использует Grails плагин с возможностью поиска, используя Compass внизу.

Начальные индексированные таблицы занимают около 36 МБ и строят индексы около 350 МБ. Это мало в книгах большинства людей.

Если мы удаляем индексы и запускаем приложение Grails, файлы индексов перестраиваются, как и ожидалось, но затем, примерно через день работы, мы находим эту ошибку. Мы вызываем 'reindex' для экземпляров TellMeEntity, поскольку они сохраняются, чтобы убедиться, что индекс обновлен.

Исключение org.compass.core.engine.SearchEngineException: не удалось удалить псевдоним [TellMeEntity] и идентификаторы [[сохранены / несжатые, проиндексированные, omitNorms, omitTf]]; Вложенное исключение - java.io.FileNotFoundException: / var / www / web17 / log / mne / index / tellmeentity / сегменты_2 (нет такого файла или каталога) на org.compass.core.lucene.engine.transaction.readcommitted.ReadCommittedTransaction (doDelete : 348)

Очевидно, что после появления этой ошибки индекс не обновляется, и поиск по вновь введенным данным не работает.

Мы проверили такие простые вещи, как дисковое пространство и т. Д. Сегменты_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 голосов
/ 04 октября 2011

стрелять с бедра: ваше местоположение индекса / var / www / web17 / log / mne подвергается некоторому процессу ротации файла журнала, который по ошибке пытается вращать файлы индекса?24 часа, похоже, мешает какая-то работа на основе cron.

...