CentOS Nginx php 安装中文分词SCWS扩展
2023-03-07 09:13:31 时间
最近正在做appsite框架传统网站架构的拓展、其中不免有SEO的部分。 在网上做了一点功课,meta中的 description比较关键,keywords据说已经不再受搜索引擎的关照了,不过这种事情现在不能盲目相信,既然做一个网站那么还是应该要照顾好关键词。但是没必要付出过高的人力成本,所以我这里想到的还是使用分词扩展来自动生成关键词。 这样做的好处是,无论搜索引擎是否在意关键词,我们有和内容相关度很高的关键词,这不会对我们带来损失。 基于程序算法生成的关键词,不需要我们花费人力成本,包括可以在后台控制是否开启该功能。
我这里选用的是对php支持比较好的 SCWS分词扩展。 如果分词的目的是更多的语义化分析、情感分析等,那还是应该考虑一下其他的分词库,不过基本上没有php支持。
进入正题
从官网上有详细的安装指导,我这里做一下简单的整理
(基于习惯选择UTF8)
1. 取得 scws-1.2.3 的代码
$ wget http://www.xunsearch.com/scws/down/scws-1.2.3.tar.bz2
2. 解开压缩包
$ tar xvjf scws-1.2.3.tar.bz2
3. 进入目录执行配置脚本和编译
$ cd scws-1.2.3
$ ./configure --prefix=/usr/local/scws ; make ; make install
注:这里和通用的 GNU 软件安装方式一样,具体选项参数执行 ./configure --help 查看。
常用选项为:--prefix=<scws的安装目录>
4. 顺利的话已经编译并安装成功到 /usr/local/scws 中了,执行下面命令看看文件是否存在
$ ls -al /usr/local/scws/lib/libscws.la
5. 试试执行 scws-cli 文件
$ /usr/local/scws/bin/scws -h
# scws (scws-cli/1.2.3)
# Simple Chinese Word Segmentation - Command line usage.
# Copyright (C)2007 by hightman.
# ...
6 用 wget 下载并解压词典,或从主页下载然后自行解压再将 *.xdb 放入 /usr/local/scws/etc 目录中
$ cd /usr/local/scws/etc
$ wget http://www.xunsearch.com/scws/down/scws-dict-chs-utf8.tar.bz2
$ tar xvjf scws-dict-chs-utf8.tar.bz2
进入源码目录的 phpext/ 目录 ( cd ~/scws-1.2.3 )
$ cd ~/scws-1.2.3
$ cd phpext
# 这一步缺少会报找不到config.m4
$ phpize
$ ./configure --with-scws=/usr/local/scws
#若 php 安装在特殊目录 $php_prefix, 则请在 configure 后加上 --with-php-config=$php_prefix/bin/php-config
# 经测试出现问题时 这样做没有用,解决方案 找到实际使用的php安装目录
# 使用 whereis php , which php 查找,如果还找不到 在页面中使用 phpinfo()找到对应的路径
# 我这里的实际地址是: /www/server/php/72/
# 2019-12-17更新,有可能位置会在其他地方,如果报错 找不到php-config 建议核实具体配置文件的位置 如 /www/server/php/72/bin/php-config
$ ./configure --with-scws=/usr/local/scws --with-php-config=/www/server/php/72/php-config
$ make
$ make install
# 这一步最后会输出扩展安装到的目录,注意拷贝 /.../extensions/....../scws.so
编辑php.ini (最后插入)
extension = /.../extensions/....../scws.so # 使用绝对路径
scws.default.charset = utf8
scws.default.fpath = /usr/local/scws/etc
# 使用php -m 没有看到
# phpinfo可以看到扩展已经安装完毕
使用起来也是比较简单的
$sh = scws_open();
$text = "和欣赏风景不同的是,自然探索针对目的地最具当地特色的文化元素、独特的自然动物和风景近距离接触。自然探索难度有低有高,带儿童出游的自然探索可以锁定交通方便、环境相对舒适的城镇郊外、风景区、自然保护区等。喜欢有挑战性的,可以选择极地、雨林、岛屿等野生地区,也可以跟随经验丰富的探索大师组队出发。无论是去哪个地区探索,都需要因地制宜准备出行装备。";
scws_send_text($sh, $text);
$top = scws_get_tops($sh, 30);
print_r($top);
相关文章
- 微软或将推出瘦客户端 PC:搭载 Windows 365 云电脑服务,价格便宜但有广告
- Vanilla OS:不只是原味 GNOME 的 Ubuntu
- 如何分析产品新功能的效果?
- Linux运维之json文件操作
- 如何通过 chroot 恢复 Arch Linux 安装
- 关于 find 命令的15个超级有用的例子
- 如何在 Linux 命令行中删除指定扩展名的文件
- 数据发现在数据网格架构中的重要性
- WebAssembly入门(Golang版)你学会了吗?
- 每个数据分析师都应该了解的六个预测模型
- Bash、Source、“.”和“./”执行的区别
- 如何在 Ubuntu和 Debian 上创建 sudo 用户
- 如何在 Linux 中更改 Shell
- 大数据和算法是如何把人拉入无尽的娱乐深渊的
- 零售银行可以使用数据更好地为数字原生服务的五种方式
- 移植案例与原理 - Build Lite源码分析 之 Hb命令__Entry__.Py
- 从“汽车制造”生活案例到软件的建造者模式
- 火狐浏览器 Firefox 106.0.3 发布,修复在微软 Win11 22H2 上的崩溃和挂起问题
- 十个大数据挑战以及应对方法
- 如何从 Ubuntu 22.04 LTS 升级到 22.10