Maior dificuldade ao indexar classes com chaves primárias UUID com Sunspot Solr. Essencialmente porque inteiro ainda é considerado o tipo de dados para chaves primárias. Enquanto esse problema ainda está aberto https://github.com/sunspot/sunspot/issues/225 , temos que fazer uma solução rápida.
Agora já existe uma solicitação pull que pode (ainda não testei) resolver esse problema: https://github.com/sunspot/sunspot/pull/373
Mas, por enquanto, a solução alternativa sugerida por Tad ( https://github.com/rthbound ) funcionou para mim. Então é assim que funciona:
- Comente o bloco “pesquisável” em sua aula ou aulas.
- Reindexar, rake sunspot: solr: reindex
- Remova o comentário do bloco “pesquisável” em sua aula ou aulas.
- Vá para o console, trilhos c
- Execute, Sunspot.index (ModelClass.all); Sunspot.index! (ModelClass.last)
Saia do console e seu mecanismo de pesquisa deve funcionar. Agora, o maior revés disso é se você estiver executando em um servidor de produção com milhões de itens para indexar (eu pessoalmente não tentei isso, o último índice que fiz foi de apenas cerca de 2.000+).
As joias:
gem “sunspot rails”, “~> 2.0.0”
e
gem “sunspot solr”, “~> 2.0.0” (no grupo de desenvolvimento)
Estou no Heroku (Cedar) com o complemento WebSolr.
ATUALIZAÇÃO 22/04/2014 A
atualização para “sunspot rails” e “sunspot solr” 2.1.0 resolve esse problema.
Parar solr via rake sunspot: solr: parar e reindexar por rake sunspot: solr: reindex
Além disso, adicione esta linha ao seu sunspot.yml: solr_home: solr
Colocado dentro da configuração de desenvolvimento, fica assim:
development:
solr:
solr_home: solr
hostname: localhost
port: 8982
log_level: INFO