【发布时间】:2016-10-03 04:23:30
【问题描述】:
我想在狮身人面像搜索中实现大于和小于条件
我有一张表包含工作
id | job_title | min_experience | max_experience
101 | php Developer | 4 | 10
102 | PHP Developer | 6 | 9
103 | PHP Developer | 4 | 5
如果用户搜索具有 7 年至 8 年工作经验的工作,则会显示 2 条(101 和 102)条记录,因为在这些记录中,它们之间存在范围。我怎样才能在狮身人面像搜索上实现这个逻辑。如果您有想法,请分享。
有一个 setFilterRange 范围,但它适用于一个字段。
如果我要实现这个
$sphinx->setFilterRange("min_experience", 7 , 8);
// no result because both are less than 7
$sphinx->setFilterRange("min_experience", 7 , 8);
// no result will display because max experience is 10 or 9
但是两条记录都是有效的。
【问题讨论】:
-
你可以像 $sphinx->SetFilterRange("min_experience", $maxexperience, $minexperience);没有别的,只有一行
-
@BrijalSavaliya 我已经全部做到了,但它不适用于范围的两个领域:(
-
我认为你应该在这里通过,如果输入是“7”,那么 min_experience > 7 和 max_experience
-
您可能首先需要指定如何处理所涉及的两个范围(目标范围和经验范围)的比较。在重叠范围(例如,developper minexp=2,maxexp=8)或完全包含范围(developper minexp:4, maxexp=10)的情况下会发生什么。
-
$sphinx->setFilterRange("min_experience", 7 , 8); $sphinx->setFilterRange("max_experience", 7 , 8);