我正在尝试在单个 Rails 应用程序下托管的多个“站点”上实现thinking-sphinx。我正在与thinking-sphinx 的开发人员合作,对更精细的细节进行分类,并取得了不错的进展,但我需要一个数学问题的帮助:
通常在thinking-sphinx搜索索引中制作唯一ID的公式是取id,乘以可搜索模型的总数,再加上当前索引模型的数量:
id * total_models + current_model
这很好用,但现在我也通过一个 entity_id 进入组合,所以有三个 vextors 使这个 ID 唯一。有人可以帮我弄清楚使用这三个变量来保证 id 永远不会发生冲突的等式:
id, total_models, total_entities
实体 ID 是一个整数。
我想到了:
id * (total_models + total_entities) + (current_model + current_entity)
但这会导致碰撞。
任何帮助将不胜感激 :)