中文分词测试

比如要实现对自己博客的所有文章进行全文搜索:

CREATE TABLE articles (
    id INT UNSIGNED AUTO_INCREMENT NOT NULL PRIMARY KEY,
    title VARCHAR(200),
    content TEXT,
    article_fc TEXT,
    FULLTEXT idx (article_fc)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入文章时,对标题title和正文content这两个字段进行SCWS中文分词并用空格分隔后存入一个用于全文搜索的字段比如article_fc,该字段要求建立FullText全文索引.

用户搜索时,先用SCWS对输入进行分词比如获得关键词word1和word2,然后用MATCH AGAINST语句对进行全文搜索:

SELECT * FROM articles WHERE MATCH(article_fc) AGAINST(‘word1 word2’);
article_fc字段所在的表也可以和标题正文所在的文章表分开,查出后连接文章表读出标题正文即可.

SCWS是马明练hightman开发的一个PHP PECL中文分词扩展,提供有词典.如果不能安装PECL扩展,作者还提供了一个PHP实现的中文分词库PSCWS:

http://www.xunsearch.com/scws/

自己使用下方:
由于更新器是易语言编写,仅需为数据库增加一个fulltext全文索引的字段,在易语言更新时,直接post下方api即可

http://www.xunsearch.com/scws/api.php
.版本 2

.子程序 中文分词, 文本型
.参数 宝贝标题, 文本型
.局部变量 json内容, 文本型
.局部变量 word数组, 文本型, , "0"
.局部变量 t, 整数型
.局部变量 分词结果, 文本型

json内容 = 网页_访问S (“http://www.xunsearch.com/scws/api.php”, 1, “data=” + 编码_URL编码 (宝贝标题, , 真) + “&multi=7&ignore=yes&duality=yes&respond=json”)

文本_取中间_批量 (json内容, “word” + #引号 + “:” + #引号, #引号, word数组)
.计次循环首 (取数组成员数 (word数组), t)
    分词结果 = 分词结果 + word数组 [t] + “ ”
.计次循环尾 ()
返回 (编码_usc2到ansi (分词结果))

在更新数据库时 直接添加!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值