c# - 按用户管理的职位查询和排序文档的最佳解决方案?

标签 c# .net algorithm sorting lucene.net

用户拥有一个或多个文档子集(帖子)。这个想法 (UX) 是让用户管理(可选)帖子在一个子集中出现的顺序。

默认情况下,帖子CreatedOn排序。最终,用户拖放帖子来管理他们的订单。这将允许用户宣传和组织帖子

一个简单的Int32字段Position引发了许多问题..例如:

  • 您允许持仓为负吗?
  • 您如何处理相同职位的帖子?
  • 您是否引入间隙来减少碰撞?
  • 每次职位发生变化时,您都会更新所有帖子吗?
  • 等等..

..最后是我的观点:

按用户管理的位置对 Lucene 文档进行排序的最佳解决方案是什么?也许是 Int32 字段Position

编辑(有值(value)的信息):

  • 帖子位于数据库和 Lucene 索引中。
  • 帖子已分页

最佳答案

我认为最简单的是模拟链表。为每个文档添加一个指向下一个文档的指针。如果您不能直接执行此操作(您实际上没有地址,因为它们位于数据库或其他内容中),您可以为每个文档使用 ID 和 nextID。只要确保 ID 不同即可。当用户拖放时,只需重新连接列表即可。

关于c# - 按用户管理的职位查询和排序文档的最佳解决方案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12220319/

相关文章:

.net - 将 CasTLe Windsor 与 SignalR 集成 - 我应该如何处理这个问题?

algorithm - 队列中的前 n 个元素

php - 在 PHP 中压缩多维数组?

jquery - 显示大型 Base64 图像 MVC 4 DOTNET

.net - 通过 COM 组件调用 .NET 程序集时出现 "Parameter is incorrect"错误

algorithm - 反锐化蒙版如何工作?

c# - Controller 上的 ActionFilterAttribute 与操作方法

javascript - 显示消息而不重新加载 html 页面

c# - 银光异步

c# - 使用 ILMerge 时无效 System.Threading.Monitor.Enter 错误