欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

Yii2整合迅搜实现高效中文分词检索

程序员文章站 2022-04-30 12:17:10
...
Yii2整合迅搜实现高效中文分词检索。本文主要介绍了Yii2框架整合Xunsearch搜索引擎的方法,结合实例形式分析了Yii2框架整合Xunsearch的具体步骤与相关注意事项,需要的朋友可以参考下。希望对大家有所帮助。

具体如下:

公司一直用的YII2框架,然后要做一个中文搜索引擎,所有想的Xunsearch这个项目,之前有文章提到了,怎么安装Xunsearch服务端。(参考《PHP在innodb引擎下快速代建全文搜索功能简明教程》)

xunsearch暂时只有Liunx的服务端和PHP-SDK。但作者确提供了一个YII2的扩展。突然感觉好幸福的说。

本来是通过使用PHP-SDK写一个简单的添加索引和更新索引还有删除索引的功能,但有考虑到多项目的情况。就是一个Xunsearch可以被多个项目公用,所有配置文件放置在每一个项目的配置文件里面,根据这个项目的配置文件来区分每一个搜索数据库。这是我一开始的想法,但重点是不是怎么想,而是怎么去做。实践才是硬道理,然后就遇到下面的这些问题。

参见官方http://www.yiiframework.com/extension/yii-xunsearch/#hh4 这里目标链接,我接下来要说下安装心得

// application components
  'components => [
    // ... other components ...
    'xunsearch' => [
      'class' => 'hightman\xunsearch\Connection', // 此行必须,这里不一定是这写的,可能是hightman.xunsearch.Connection 根据实际项目出发
      'iniDirectory' => '@app/config',  // 搜索 ini 文件目录,默认:@vendor/hightman/xunsearch/app
      'charset' => 'utf-8',  // 指定项目使用的默认编码,默认即时 utf-8,可不指定
    ],
  ],

然后,如果你的PHP环境是集成的安装包,可能会遇到这么一个问题

Unexpected character in input: '\' (ASCII=92) state=1

网上有人说是 php.ini 里面的配置问题,说把,short_open_tag 改成 On,我第一看感觉很有道理,然后找到发现,本来就是On。

因为那个YII2的扩展用到了PHP5.3才有的命名空间特效。而我的本地PHP版本是5.2.6。我表示淡定不了。折磨一天的事情,居然是因为PHP版本太低。。。

就总结到这里。

相关推荐:

yii2 modal弹窗之ActiveForm实现ajax表单异步验证

Yii2实现rbac权限控制

Yii2中关于组件的注册以及创建的方法详解

以上就是Yii2整合迅搜实现高效中文分词检索的详细内容,更多请关注其它相关文章!