wordpress怎么实现近义词搜索,比如教师和老师

如搜索关键词为“教师”,结果包含“教师”、“老师”。

另外,标签页面,“教师”这个标签所属文章如果也包含“老师”。

阅读 2.9k
1 个回答

兄弟你想多了,分词搜索可以实现,但是太耗费资源,你也没好的办法分词。

// 这种方法只能尽量提高搜索结果相关性,但“不是分词”
if(is_search()){
add_filter('posts_orderby_request', 'search_orderby_filter');
}
function search_orderby_filter($orderby = ''){
    global $wpdb;
    $keyword = $wpdb->prepare($_REQUEST['s']);
    return "((CASE WHEN {$wpdb->posts}.post_title LIKE '%{$keyword}%' THEN 2 ELSE 0 END) + (CASE WHEN {$wpdb->posts}.post_content LIKE '%{$keyword}%' THEN 1 ELSE 0 END)) DESC,
{$wpdb->posts}.post_modified DESC, {$wpdb->posts}.ID ASC";
}

推荐使用插件,但是也只是扩展搜索的范围

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进