我的应用程序中有经过身份验证的用户可以访问包含多达 500,000 个项目的共享数据库。每个用户都有自己的面向公众的网站,并且需要能够在他们自己的网站上对展示的项目进行优先级排序(想想投票)。
在 500,000 个项目中,他们可能只有 200 个优先项目,其余项目的顺序不太重要。
每个用户都会对项目进行不同的优先级排序。
我最初在这里问了一个类似的mysql问题,Mysql results sorted by list which is unique for each user and get a good answer但我相信更好的选择可能是选择非sql索引解决方案。
这可以在 Lucene 中完成吗?是否有另一种搜索技术会更好。
附言。Google 在其搜索结果中实施了类似的类型设置,如果您已登录,您可以在其中优先考虑和排除您自己的搜索结果。
更新:用 sphinx 重新标记,因为我一直在阅读文档,我相信它可能能够通过存储在内存中的“每个文档属性值”来做我正在寻找的东西 - 有兴趣从 sphinx 大师那里听到任何反馈