gpt4 book ai didi

php - 基于规则的求职者分类算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:17:23 25 4
gpt4 key购买 nike

不好意思问,但我正在尝试使用基于规则的分类算法制作一个搜索系统,但问题是我似乎无法找到如何实现它。

我脑子里有个主意。首先,使用 php select 语句生成数据,然后测试所有数据是否与用户输入匹配。我是说对了,还是有什么地方不对。

最佳答案

假设您要根据您的输入创建规则,然后通过 post 或 URL(Prefer in URL)将数据发送到搜索查询。你的形式会是这样的 enter image description here

假设在发送时会创建搜索 URL 的四个规则

enter image description here

你将创建一个类似这样的搜索函数

public function search_item($data,$per_page,$offset=0)
{
$term_q='';
$loc_q='';
$pur_q='';
if($per_page==0)
{
$limit_q='';
}
else
{
$limit_q='LIMIT '.$offset.','.$per_page;
}

if($data['keyword']!='')
{$term_q='AND (property.title LIKE "%'.addslashes($data['keyword']).'%" OR property.description LIKE "%'.addslashes($data['keyword']).'%" OR property.city LIKE "%'.addslashes($data['keyword']).'%") ';}
if($data['location']!='')
{
$loc_q=' AND (property.location LIKE "%'.addslashes($data['location']).'%" OR property.title LIKE "%'.addslashes($data['location']).'%" OR property.description LIKE "%'.addslashes($data['location']).'%" OR property.city LIKE "%'.addslashes($data['location']).'%") ';
}
if($data['purpose']!='')
{
$pur_q=' AND property.purpose LIKE "%'.addslashes($data['purpose']).'%" ';
}
$data=$this->db->query("SELECT property.*, users.name as posted_by, property_types.name as property_type
from property
inner join users on users.id=property.posted_by
inner join property_types on property_types.id=property.type

WHERE property.status='approved'
{$term_q}
{$loc_q}
{$pur_q}
{$limit_q}
")->result_array();
//print_r($this->db->last_query());exit;
for($i=0;$i<count($data);$i++)
{
$data[$i]['images']=$this->db->query('SELECT * from property_images WHERE property_images.property_id='.$data[$i]['id'])->result_array();
}

return $data;
//return $this->db->last_query();
}

注意语法,它在 Codeigniter 框架中,但我会向您解释。函数中的数据参数是您从 URL 中获取的内容,发送到从 $_REQUEST 中获取的此函数。 $per_page 和 $offset 用于分页。

现在搜索算法只不过是一个大的 SELECT 查询,其中包含大量的小子句,这些小子句定义了过滤数据所依据的规则。如果你在函数中看到

$term_q='';
$loc_q='';
$pur_q='';
if($per_page==0)
{
$limit_q='';
}
else
{
$limit_q='LIMIT '.$offset.','.$per_page;
}

if($data['keyword']!='')
{$term_q='AND (property.title LIKE "%'.addslashes($data['keyword']).'%" OR property.description LIKE "%'.addslashes($data['keyword']).'%" OR property.city LIKE "%'.addslashes($data['keyword']).'%") ';}
if($data['location']!='')
{
$loc_q=' AND (property.location LIKE "%'.addslashes($data['location']).'%" OR property.title LIKE "%'.addslashes($data['location']).'%" OR property.description LIKE "%'.addslashes($data['location']).'%" OR property.city LIKE "%'.addslashes($data['location']).'%") ';
}
if($data['purpose']!='')
{
$pur_q=' AND property.purpose LIKE "%'.addslashes($data['purpose']).'%" ';
}

以上部分定义了所有规则,然后将这些规则嵌入到主查询中以获取过滤后的数据。所以你看这很容易,你所要做的就是定义你的规则。通过某种形式或通过自己发送它们将它们获取到您的输入中,然后处理这些规则以创建查询并最终执行该查询以从您的数据库中获取结果。

关于php - 基于规则的求职者分类算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42604823/

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