Sunspot / SOLR ne pas indexer les modèles STI?
-
28-10-2019 - |
Question
J'ai deux ou trois modèles dans une application Rails (2.3.11) qui sont construits en utilisant STI, et organisé en tant que tel:
Gallery::Base < ActiveRecord::Base
(répertorié pour SOLR)
Gallery::Local < Gallery::Base
(répertorié pour SOLR)
Gallery::Remote < Gallery::Base
(non indexé)
Je trouve des résultats disparates en ce qui concerne l'indexation de ces modèles. Dans ma base de données de développement actuel, j'ai 77 objets Gallery::Local
et aucun objet Gallery::Remote
(ce qui signifie aussi qu'il ya 77 objets Gallery::Base
dans la db)
Le problème est que ce soit Sunspot.search(Gallery::Base)
ainsi que les rendements de Sunspot.search(Gallery::Local)
un seul coup.
Maintenant, pour la partie étrangère: sur l'ordinateur d'un collègue en utilisant la base de données de production (avec des centaines d'objets Gallery::Local
), aucun coup que ce soit est retourné soit par Sunspot.search(Gallery::Base)
ou Sunspot.search(Gallery::Local)
Sur une note de côté, je l'ai essayé d'avoir l'index sur les deux Gallery::Base
et Gallery::Local
, et chacun séparément et réindexation, avec les mêmes résultats. J'ai aussi un certain nombre d'autres modèles indexés pour lesquels la recherche en texte intégral fonctionne comme prévu.
Quelqu'un a une idée de ce qui cause?
La solution
En fait, a découvert quel était le problème. Si vous êtes intéressé par personne, la tâche sunspot:reindex
ne contemplent et modèles des espaces de noms « MODULED ».
Consultez cette demande traction sur GitHub pour une solution (allez à la section Diff).