我正在研究搜索引擎。用户可以搜索其他用户提供特定参数(例如年龄,性别,城市,头发颜色)。他还能够以不同的方式对结果进行排序。
在搜索结果页面上,您可以看到10个配置文件,如果单击它们,您将转到另一个页面(配置文件页面),在该页面上您可以获得有关该单个用户的更多信息。
现在,在查看特定用户的个人资料页面上的用户现在必须能够从搜索结果中来回查看下一个或上一个用户。因此,您必须存储用户选择的特定参数,并且当用户继续从一个用户转到下一个用户时,您还必须一遍又一遍地运行整个搜索查询。这对我来说并不好看,我考虑暂时将所有用户ID存储在一个会话中(对于以前的用户最多200个,对即将到来的用户最多200个),以避免存储参数并在每次用户访问另一个配置文件时运行搜索查询页。
这是一个好方法,还是有其他解决方案?
最好的问候,并提前感谢您的帮助,
弗雷迪
答案 0 :(得分:2)
您可以简单地将id作为数组存储在会话中,然后将下一个/上一个链接放入数组中的下一个/上一个项目。
答案 1 :(得分:0)
总计少量匹配(例如200以下),在会话中存储ID非常好。如果您可能期望搜索中有大量结果(以千计),那么更好的解决方案可能是为搜索实现临时表。执行搜索时,匹配的ID和名称将根据用户的会话ID存储在临时表中。您还需要一个定期运行的脚本并清理此旧数据表。