我试图创建一个搜索引擎来根据用户的名字搜索用户。创建搜索引擎
这里是什么,我能在这个时刻做一个例子: 我要搜索大卫(姓)琼斯(名) - >当我键入:“大”或“VID”或“J”或'ones'它给了我David Jones 但是当我输入'David J'时,它什么也不给。
以哪种方式必须更改我的查询以在同一时间在两个字段上进行搜索?
查询:
public function Search($searchinput)
{
$db = new Db();
$select = "SELECT * FROM tblusers WHERE name LIKE '%" . $searchinput . "%' OR surname LIKE'%" . $searchinput . "%'";
$result = $db->conn->query($select);
return $result;
}
既然你是对的匹配自然语言文本,你应该打破下来一个字为基础的方法。单词用自然语言中的whitesapce字符分隔。因此,_always_用空格分隔可用输入,并搜索由此获得的单个“单词”。然后结合搜索结果。这是人们本能的期望。 – arkascha
[链接](http://toabigo.net23.net/)看看我的旧搜索引擎项目纯PHP –