Emlog搜索功能默认只匹配文章标题,只有文章标题存在搜索的关键词才会匹配出结果,这样就会导致网站内容搜索查找难度增加。友好的搜索功能应该同时支持标题和内容的搜索,从而更加方便地查找想要的文章。让emlog支持全文搜索的方法也很简单,修改一下对应的sql查询语句即可。
EMLOG搜索功能的控制器在/include/controller/search_controller.php文件中。打开这个文件后,大约在第22行可以看到准备进行拼接的SQL语句:
$sqlSegment = "and title like '%{$keyword}%' order by date desc";
意思是在title字段查询与关键词相似的。我们修改为
$sqlSegment = "and (title like '%{$keyword}%' or content like '%{$keyword}%') order by date desc";
就是增加了一个内容字段 content 的关键词匹配,整体意思就是检索标题字段title或内容字段content是否包含搜索的关键词