2012-12-14 16 views
2

У меня есть приложение, построенное с использованием Spring + JPA + Hibernate, работающего на Heorku, и я использую Hibernate-Search для FullTextSearch. На моей локальной машине я храню свои индексы в файловой системе. Моя конфигурация в persistence.xml.hibernate search on heroku

<property name="hibernate.search.default.directory_provider" 
    value="filesystem"/> 
<property name="hibernate.search.default.indexBase" 
    value="/opt/lucene/indexes"/> 

Heroku только читаемый доступ к файловой системе, то я не хранить индексы в памяти, но это не самый лучший подход, поскольку индексы теряются, когда перезагрузка экземпляра сервера. Как лучший способ сделать это? есть способ интегрировать поиск в спящий режим с помощью WebSolr или что-то еще?

+0

Heroku не имеет файловой системы только для чтения (на кедрах); вам не рекомендуется писать в файловую систему, потому что ваши многочисленные узлы могут выйти из синхронизации. Если вы уверены, что индексы будут генерироваться идентично на каждом узле или что разные индексы на каждом узле не являются проблемой, вы можете записать в файловую систему. Тем не менее, я по-прежнему предпочитаю подход, связанный с вашим приложением, одним из многих превосходных надстроек Heroku. –

+0

Heroku имеет эфемерную файловую систему, «что означает, что вы не можете динамически писать в файловую систему для полупостоянного хранилища». Какое дополнение для поиска я мог бы интегрировать с поиском в спящий режим? – maykoone

+0

Да, также забыл упомянуть, что ti's ephemeral, поэтому вам нужно будет обновлять индексы при каждой загрузке. К сожалению, я не уверен, как подключить Hibernate до одного из своих надстроек, а не подключать какую-то другую систему, так что, надеюсь, кто-то оставит правильный ответ на эту информацию. –

ответ

0

Я нашел решение. Я буду использовать mongodb add-on на heroku для хранения моих индексов, я внедрил поставщик каталогов для поиска в спящем режиме на основе каталога mongodb для lucene и отлично работает на моей локальной машине.

+0

Следующее предложение Андрея, спасибо – maykoone