5

I have couchdb. Sunspot was correctly indexing everything. But the Solr server crashed. I need to reindex the whole thing. rake sunspot:reindex wont work as it is tigthly coupled with active record. sunspot.index(model.all) didnt work. the solr core says 0 indexed docs even after doing that. is there a way out?

Mahesh M
  • 1,219
  • 10
  • 18

3 Answers3

14

Post.solr_reindex

There are a number of options that can be passed to solr_reindex. The same options as to index; from the documentation

index in batches of 50, commit after each

Post.index 

index all rows at once, then commit

Post.index(:batch_size => nil) 

index in batches of 50, commit when all batches complete

Post.index(:batch_commit => false) 

include the associated +author+ object when loading to index

Post.index(:include => :author) 
s01ipsist
  • 3,022
  • 2
  • 32
  • 36
  • Thanks for your reply. What I was looking for was index!() function. Batch commits was not working somehow. – Mahesh M Dec 10 '11 at 04:51
3

What I was looking for was this:

Post.index!(Model.all)

There was something bad happening when I tried to index assuming that batch commits would happen automatically. Any way this worked totally fine for me.

Mahesh M
  • 1,219
  • 10
  • 18
2

I usually write below command to index models. It works perfectly every time.

For a Model i.e. (Post)

Sunspot.index Post.all

For a Model row i.e. (Post.where(id: 5))

Sunspot.index Post.where(id: 5)

It will work.

Cheers!

Manish Shrivastava
  • 30,617
  • 13
  • 97
  • 101