Как я могу вручную переиндексировать Solr с помощью солнечного пятна? - PullRequest
5 голосов
/ 24 ноября 2011

У меня есть couchdb. Sunspot правильно все индексирует. Но сервер Solr вышел из строя. Мне нужно переиндексировать все это. rake sunspot: reindex не будет работать, так как он тесно связан с активной записью. sunspot.index (model.all) не работает. ядро solr сообщает 0 проиндексированных документов даже после этого. есть ли выход?

Ответы [ 3 ]

14 голосов
/ 08 декабря 2011

Post.solr_reindex

Существует несколько параметров, которые можно передать в solr_reindex.Те же параметры, что и для индексации;из документации

индексировать партиями по 50, фиксировать после каждого

Post.index 

индексировать сразу все строки, затем фиксировать

Post.index(:batch_size => nil) 

индексировать в пакетах по 50, фиксировать, когда все пакеты завершены

Post.index(:batch_commit => false) 

, включая связанный объект + author + при загрузке в индекс

Post.index(:include => :author) 
3 голосов
/ 10 декабря 2011

Я искал вот что:

Post.index! (Model.all)

Произошло что-то плохое, когда я попытался индексировать, предполагая, что пакетные коммиты произойдут автоматически. В любом случае, у меня все получилось.

2 голосов
/ 15 мая 2015

Я обычно пишу ниже команды для индексации моделей.Он отлично работает каждый раз.

Для модели, т.е. (сообщение)

Sunspot.index Post.all

Для строки модели, т. Е. (Post.where (id: 5))

Sunspot.index Post.where(id: 5)

Будет работать.

Ура!

...