Sonnenflecken / Solr nicht indizieren STI -Modelle?
-
28-10-2019 - |
Frage
Ich habe ein paar Modelle in einer Rails (2.3.11) Anwendung, die mit STI gebaut und als solche angeordnet sind:
Gallery::Base < ActiveRecord::Base
(indexiert für Solr)
Gallery::Local < Gallery::Base
(indexiert für Solr)
Gallery::Remote < Gallery::Base
(nicht indiziert)
Ich finde unterschiedliche Ergebnisse hinsichtlich der Indexierung dieser Modelle. In meiner aktuellen Entwicklungsdatenbank habe ich 77 Gallery::Local
Objekte und nein Gallery::Remote
Objekte (was auch bedeutet, dass es 77 gibt Gallery::Base
Objekte in der DB)
Das Problem ist, dass entweder Sunspot.search(Gallery::Base)
ebenso gut wie Sunspot.search(Gallery::Local)
Gibt einen einzelnen Treffer zurück.
Nun zum fremden Teil: auf dem Computer eines Kollegen mit der Produktionsdatenbank (mit Hunderten von Gallery::Local
Objekte), keinerlei Treffer wird von beiden zurückgegeben Sunspot.search(Gallery::Base)
oder Sunspot.search(Gallery::Local)
!
Nebenbei bemerkt habe ich versucht, den Index auf beiden zu haben Gallery::Base
und Gallery::Local
, und in jedem einzelnen separat und reindexing mit den gleichen Ergebnissen. Ich habe auch eine Reihe anderer indizierter Modelle, für die die Volltextsuche wie beabsichtigt funktioniert.
Hat jemand eine Idee als was verursacht das?
Lösung
Eigentlich fand heraus, was das Problem war. Wenn jemand interessiert ist, die sunspot:reindex
Die Aufgabe betrachtet den Namenspace und "modulierte" Modelle nicht.
Schau dir das an Anfrage ziehen Auf GitHub für ein Fix (zum Diff -Abschnitt gehen).