如何在PHP中搜索搜索结果中的“结果中的下一个”

时间:2010-05-13 11:53:23

标签: php html search search-engine solr

是的,有点头疼,虽然我感觉有一个明显的答案,我只是没有看到树木。

Baiscally,使用Solr作为我网站的搜索引擎,每页带回15个结果。当您单击结果时,您会看到一个详细信息页面,其上有一个“结果中的下一个”链接,这显然会将您转到下一个结果。

这样做最好的方法是什么?我想出了一些解决方案,但它们要么过于实用,要么就是不起作用。

我可以将所有ID存储在会话数组中,然后在当前数据之后获取一个并将其放入链接中。但是可能有数百/数千个结果,数组所需的内存以及处理它的性能不佳是不切实际的。

我可以采用相同的方法并将其放入数据库中,但是当我从数据库中取出它时,我仍然需要处理一个可能很大的数组。

或者;我可以再次进行搜索,只返回id,然后抓住我们正在查看的那个之后的那个。我认为这可能是最好的选择吗?虽然它确实看起来有点混乱,因为我必须在不同的“页面”(即第16,31等等结果)上选择id。除非我通过结果中的位置,并从中选择,但这似乎仍然是正确的方法。

如果这完全是胡说八道,我真的很抱歉,任何帮助都会一如既往地受到重视,

干杯!

1 个答案:

答案 0 :(得分:0)

你的会话解决方案并不是那么糟糕。因为这些成千上万的结果只是内存中的几千字节。

虽然你可以用另一种方式做到这一点。你可以通过简单的查询找出下一条记录的id。这比看起来更简单:如果你按照数字订购它,我相信你可以在10cant之后找到下一个令牌。对于数据库记录,只需执行相同的操作;)