Я пытаюсь реализовать интеллектуальный сфинкс на нескольких «сайтах», размещенных в одном приложении rails. Я работаю с разработчиком мышления-сфинкса, чтобы разобраться в мельчайших деталях, и делаю успехи, но мне нужна помощь с математической задачей:
Обычно формулой для создания уникального идентификатора в поисковом индексе мыслящего сфинкса является получение идентификатора, умножение его на общее количество моделей, доступных для поиска, и добавление номера индексируемой в данный момент модели:
id * total_models + current_model
Это работает хорошо, но теперь я также через entity_id включил в микс, так что есть три вектора для того, чтобы сделать этот идентификатор уникальным. Может ли кто-нибудь помочь мне выяснить уравнение, чтобы гарантировать, что идентификаторы никогда не столкнутся, используя эти три переменные:
id, total_models, total_entities
Идентификатор объекта является целым числом.
Я думал о:
id * (total_models + total_entities) + (current_model + current_entity)
но это приводит к столкновениям.
Любая помощь будет принята с благодарностью:)