gpt4 book ai didi

php - 在 Sphinx 中按 sql_attr_float 排序

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

我刚刚在 sphinx 中的索引中添加了 price 和 sale_price 属性,使用 $s->SetSortMode(SPH_SORT_EXTENDED,'price desc'); 似乎可以很好地排序,但是之后几页价格再次飙升。

例如,第一页显示价格 1,000 - 800 美元,第二页显示价格 800 - 500 美元,第三页显示价格 500 - 200 美元,然后第四页突然显示 300 - 100 美元或一些随机价格。

我想知道 sphinx 是否可能仍在按重量事件排序,尽管我没有明确告诉它......这听起来像问题吗?

我也愿意接受任何其他想法。此外,我确实重新索引并旋转了所有索引,并且 sphinx 没有返回任何错误。

预先感谢您的帮助。

以下是我目前使用的所有选项:(@barryhunter 的更新)

$s->SetMatchMode(SPH_MATCH_BOOLEAN);
$s->SetSortMode(SPH_SORT_EXTENDED,'price desc');
$s->SetFilter("is_private", array(0));
$s->SetFilter("is_deleted", array(0));
$s->SetFilter("site_type", array(1));
$s->SetLimits($start, $count);

最佳答案

@barryhunter 在评论中提出了答案!

我在 mysql 中添加了一个名为 sort_price 的新整数 col,并用 (price * 100) 填充它。然后我在 sphinx 中将该列添加为 sql_attr_uint 并且排序工作完美!!

$s->SetSortMode(SPH_SORT_EXTENDED,'sort_price desc');

谢谢巴里:)

关于php - 在 Sphinx 中按 sql_attr_float 排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19666514/

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