Das ist ziemlich seltsam. Ich habe 3 Modelle (A, B, C). Wirkt perfekt, wenn Crontab es ausführt.Denken Sphinx nicht bestimmte Modelle indexieren
Vor kurzem wurde ich habe Probleme mit der Indizierung neue Einträge für das Modell A.
Wenn ich rake ts:index RAILS_ENV=production
manuell aufrufen, Indizierung läuft gut. Kein Fehler, Problem. Aber nur Modell B, C wird aktualisiert. Modell A wird nicht aktualisiert. Ich habe alle Protokolle überprüft, es gab kein Problem.
Hier searchd.log
:
[Mon Nov 29 15:02:27.920 2010] [ 7280] rotating indices (seamless=1)
[Mon Nov 29 15:02:28.211 2010] [ 7280] rotating index 'b_core': success
[Mon Nov 29 15:02:28.215 2010] [ 7280] rotating index 'c_core': success
[Mon Nov 29 15:02:28.216 2010] [ 7280] rotating finished
Hier werden Sie feststellen, a_core
nicht angezeigt. All dies während es gut funktionierte. Als ich sah, dass es lief, indexierte es A
, aber als ich meine sphinx db nach der letzten Aktualisierung überprüft hatte, wurde es nicht aktualisiert. Erlaubnis für alle Sphinx db ist alle gleich.
Die einzige Möglichkeit, die Indizierung läuft gut ist, alte Sphinx db zu entfernen, und rufen Sie eine ganze ts:rebuild
. Ich habe nicht versucht, die production.sphinx.conf
obwohl zu entfernen.
Ich habe versucht, Delta-Indizierung in der Vergangenheit hinzuzufügen, bevor dies geschah. Nun, Delta-Indizierung konnte irgendwie nicht funktionieren, aber die normale Indizierung war in Ordnung. Dann brach die Indizierung für Modell A. Ich wusste nicht, dass es trotzdem kaputt ging. Dann habe ich die Delta-Indizierung ausgeschaltet, ohne die Spalte zu entfernen. (Ich wusste immer noch nicht, dass die Indexierung für Modell A gut lief). Dann habe ich heute herausgefunden, dass es ein Problem mit der Indexierung von Modell A gab. Also dachte ich, vielleicht habe ich die Delta-Spalte in meiner Datenbank nicht entfernt. Also habe ich die Spalte entfernt, MySQL, Apache neu gestartet und das Modell A wird immer noch nicht aktualisiert.
Ich glaube eigentlich nicht, dass es etwas mit Delta Indizierung zu tun hat. Weil ich hinzugefügt habe, dann entfernte Delta Indizierung für alle A, B, C-Modelle. Wenn es brechen sollte, sollte es alle statt nur eines Modells brechen.
Bitte helfen. Vielen Dank.
EDIT Modell A
# ThinkingSphinx Index
define_index do
indexes :name, :sortable => true
indexes address
indexes city
indexes state
indexes country
indexes spot_type
indexes season
indexes description
has rating_average
# set_property :delta => true
end
Modell B
# ThinkingSphinx Index
define_index do
indexes name
indexes duration
has budget, created_at, rating_average
# set_property :delta => true
end
Zeigen Sie uns, wie Sie Index auf A und B definieren. – tjeden
@tjeden - Bitte sehen Sie meine Updates. Vielen Dank. – Victor