WORDPRESS 使用结巴实现搜索中文分词

sadwind2024-04-08笔记415

详细安装及说明参考以下,已经有比较详细的教程了:

https://cloud.tencent.com/developer/article/2221841

GITHUB:https://github.com/ixqbar/phpjieba

下面说一下,几个注意点,我用的是宝塔面板,安装了几个PHP版本,因为我试了几次都没有成功,尝试了几次才成功:

1,第一次安装时,没有指定目录,默认安装到root文件夹下,可能权限问题导致错误,后来改到其它目录。

2,官方说明此插件(扩展)是支持PHP5/PHP7的,我的WORDPRESS用的是PHP7.1,不知道是不是和这个有关系,后来将PHP版本改到7.0

3,注意 指定恰当的路径:./configure –with-php-config=/usr/local/php/bin/php-config 我的PHP7.0是这样的:./configure –with-php-config=/www/server/php/70/bin/php-config

4,修改php.ini时,jieba.dict_path=/root/phpjieba/cjieba/dict ,后面的路径要用自己实际的,我的是jieba.dict_path=/www/server/phpjieba/cjieba/dict

5,如果是WORDPRESS,别忘记在functions.php中加上以下代码(当然之前操作完成,别忘了重启PHP):

 function custom_search( $search_result, $wp_query ) {
  global $wpdb;
  if( !$wp_query->is_search ) {
   return $search_result; 
  }
  if( !isset( $wp_query->query_vars ) ) {
   return $search_result; 
  }$key_string=$wp_query->query_vars['s'];
  $keywords =jieba($key_string);
  if ( count( $keywords ) > 0 ) {
   $search_result = '';
   foreach ( $keywords as $keyword ) {
    if ( !empty( $keyword ) ) {
     $keywords = '%' . esc_sql( $keyword ) . '%';
     $search_result .= " 
      AND (
       {$wpdb->posts}.post_title LIKE '{$keywords}'
        OR {$wpdb->posts}.post_content LIKE '{$keywords}'
        OR {$wpdb->posts}.ID IN (
         SELECT distinct post_id         FROM {$wpdb->postmeta}
         WHERE meta_value LIKE '{$keywords}'
        )
      ) ";
    }
   }
  }
  return $search_result;
 }
 add_filter( 'posts_search','custom_search', 10, 2 );


relate content

VUE学习:十二.性能优化

前言总结一些项目开发中常见的优化技巧,优化的目的不仅能使代码结构更加清晰,加快开发编译速度,而且也能提高线上代码的性能#1.懒加载#2.dllplugin#3.整合模块多页应用中入口文件相同的配置需要...

MYSQL 更新记录 搜索替换字符串

UPDATE icms_article_data     SET body = REPLACE(  &nb...

ICMS使用一些心得 经验

ICMS是一款小众的CMS建站程序,速度、使用都还不错,扩展也方便,可能使用太少,作者最近更新有点慢,文档太少,在使用过程中有很多问题得不到及时解决,主要是查不到什么资料,官方文档太简单。最近在学习S...

中文分词搜索 准备学习使用XunSearch(迅搜)

现在正在使用SHPINX 全文检索、分词工具,其实网站规模并不大,也用不着全文检索,主要是为了中文分词,原生的SQL来查询,局限太大。但是SHPINX这个工具老是出问题,莫名其妙的停止,重启...

VUE学习:一.开发工具

VUE学习:一.开发工具

前言了解前端项目开发中环境的相关配置,工具的相关使用技巧等,有助于快速解决开发时遇到的各种问题,提高开发效率#1.Node.js注意实际开发中团队中 node 版本最好保持一致,包括各种环境(dev、...

一天显示一次广告JS代码

window.onload = function () {        &nb...

Post Reply    

◎Welcome to participate in the discussion.