У меня есть существующее приложение Rails, которое использует шину (0.4.0) для взаимодействия с двигателем Elasticsearch (0.17.4). В нем уже есть несколько моделей, использующих Tire :: Persistence. Я хочу добавить новую модель, которая использует преимущество версий Elasticsearch, отслеживать все изменения и иметь возможность вернуться к предыдущим версиям.Обновление версий Elasticsearch с помощью Tire gem
Прямо сейчас, когда я извлекаю экземпляр модели 'persisted', я проверяю _version
, и он всегда nil
. Я не нашел никакой документации по шинам, относящейся к управлению версиями. Должен ли я активировать его каким-либо образом или вручную сохранять записи с значениями версии? Я даже на правильном пути здесь?
Я вижу, что некоторые методы возвращают _version
значения для элементов, но другие этого не делают ...
Article.first._version # => nil
Article.search("sample query").first._version # => nil
Article.find("id_123")._version # => 8
Кроме того, управление версиями, кажется, увеличивается на 2. Возможно, шина не полностью оборудована, чтобы иметь дело с версиями , Сохраняется ли предыдущая версия? Как получить предыдущую версию записи?
[EDIT] Возможно, я неправильно понял, что такое «версия» на самом деле в Elasticsearch. Похоже, что это в основном для контроля параллелизма. О, ну. (Я хотел бы услышать, в противном случае, хотя)