对于Google站点地图XML,我需要Sphinx收集的所有文档ID。但是有1000多个文档,如果我尝试将它们全部放在一个简单的循环中,它最终会给我Error: searchd error: offset out of bounds (offset=1000, max_matches=1000)
。
我可以增加max_matches
设置,但这会影响性能。
我不想简单地运行MySQL查询,因为在Sphinx索引器查询中有一个UNION和一堆检查/规则。我想在一个地方查询我的查询是否具有可维护性。
所以我现在所做的是,对于每个类别(我也需要站点地图的那些),我运行在类别上过滤的Sphinx查询。这样我就会低于1000个文件限制。
必须有一个更好的解决方案。正确?
答案 0 :(得分:1)
我在这里发布了PHP代码: http://sphinxsearch.com/forum/view.html?id=7215
基本上你只是在while循环中一次检索结果1000个文档。 sitemaps不关心文件中结果的顺序,因此您需要以document_id顺序获取结果并不重要。