рельсы думают, сфинкс, как мне установить дельту в true после переиндексации?

Когда я запускаю задачу переиндексации (rake ts:reindex), она автоматически устанавливает значение дельты в false. Но я определенно хочу, чтобы дельта-индексация работала после переиндексации. Поэтому я хочу установить значение дельты обратно в «истину». Как мне это сделать??


person Saums    schedule 04.11.2010    source источник


Ответы (2)


Вам не нужна дельта-индексация после переиндексации, так как основной индекс будет актуальным и полным. Ваша модель должна устанавливать дельта-флаг в значение true только после вашего следующего обновления, когда ваш основной индекс будет неполным.

person mark    schedule 04.11.2010

Thinking Sphinx автоматически установит для delta значение true, когда вы вносите изменения в экземпляр модели.

Единственные случаи, когда это не, — это когда вы фактически изменяете экземпляр ассоциации вместо индексированной модели или изменяете индексированную модель каким-либо образом, который не запускает обратные вызовы. #update_attribute (примечание: единственное число) не запускает обратные вызовы. #save и #update_attributes делают.

Итак: как вы меняете экземпляры вашей модели? Разве дельта-индексация не происходит, когда вы вносите эти изменения?

person pat    schedule 04.11.2010