gpt4 book ai didi

php - 浏览忽略 max_matches 的 Sphinx 结果?

转载 作者:行者123 更新时间:2023-11-29 02:02:58 26 4
gpt4 key购买 nike

我想使用 Sphinx 浏览大量数据(大约 5000 万行)。显然,将 max_matches 配置设置为 10,000,它最多只能让我浏览 10,000 行。如果我增加限制,它会大大降低我们的服务器速度,所以目前,在我们的例子中 max_matches 的最佳数量是 10,000。

我正在使用 PHP API 访问 Sphinx,我需要使用它的函数,如 SetFilterRange()、SetFilter()、SetSortMode() 等。

现在每当我需要从 Sphinx 获取数据时,我就是这样做的:

// Some codes here to set filters
$sphinx->SetLimits( 100, 20 ); // Telling sphinx to return page 6
$results = $sphinx->query('');

这没问题,但是当我尝试浏览超过 10,000 个时,它没有返回任何内容。有没有办法在忽略限制的情况下浏览超过 10,000 个?

最佳答案

这是一个known behavior of Sphinx (CAVEAT EMPTOR 部分),阅读 this forum thread .

一个建议的解决方法是在您的配置中将其设置为一个天文数字的大限制,并在使用 SetLimits 时动态降低它。

从论坛主题中复制出来:

$cl->SetLimits(($currentPage-1)*50, 50, max(1000,($currentPage*50)+100)) );

但 Sphinx 背后的想法是,您应该在第一页上获得查询的良好结果,因此您不想阅读所有内容。

关于php - 浏览忽略 max_matches 的 Sphinx 结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11647132/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com