Поиск бэкэнда для приложения Django на Heroku

В моем приложении для разработки я использую комбо Haystack для поиска с Whoosh в качестве бэкэнда.

Однако при развертывании в Heroku поиск перестает работать даже после запуска python manage.py update_index,

После некоторых исследований я обнаружил, что это из-за файловой системы Heroku только для чтения.

Есть ли какое-нибудь бесплатное решение, чтобы обойти это на Heroku, чтобы я мог заставить работать поиск? Аддоны, на которые я смотрел, стоят ~ 20 долларов в месяц, и я бы предпочел начать с бесплатного решения, если это возможно.

2 ответа

Решение

Это не очень практично делать без отдельного поискового сервера. Хранение на динамометрах Heroku не только для чтения, но они эфемерны и индивидуальны для динамометра, и любое производственное приложение будет иметь как минимум две динамометра. Возможно, вы сможете настроить что-то для запуска на dyno, но оно обязательно будет сложным и хрупким, в то время как сторонняя служба работает "под ключ". Большинство сторонних надстроек поиска масштабируются по мере использования, и многие из них бесплатны на самом низком уровне, и если ни одно из них не отвечает всем требованиям, то вы всегда можете воспользоваться поисковыми службами, отличными от Heroku, которых много.

Обратите внимание, что файловая система dyno доступна для записи. Можете ли вы опубликовать ошибку, которую вы получаете?

Возможно, вы захотите еще раз взглянуть на дополнения Heroku. Существует несколько надстроек Elastic Search, которые находятся в бесплатной бета-версии или имеют бесплатные планы. Haystack поддерживает Elastic Search:

Другие вопросы по тегам