用RiSearch和DEDE分词算法实现纯PHP全文检索

C/C++写扩展主要对服务器的掌握要求至少是VPS或者空间商

的支持。而一般的虚拟主机都是不支持的,不利于成本的降低。

一般只有拥有VPS或者独立服务器的大公司在采用。

但是一些简易的PHP全文检索都不具备索引功能,导致速度奇慢,不实用。

而建立索引的PHP代码晦涩难懂,需要涉及16进制等处理,这使得很多不具备扎实算法基本功的PHPer很难上手。

参照网上流传的几份纯PHP全文检索实现代码,有一份国外人开发的针对外文的全文检索系统RiSearch,具有查询速度快的特点;

英文的分词只需要以空格为界限符分隔既可以正确分词,但是中文的分词相对复杂。网上流传的dede分词方法是一个相对合理的分词方法。

结合RiSearch和DEDE分词算法,我实现了RiSearch对中文的支持。

目前的难处是用dede来做索引容易遇上性能的瓶颈,解决方法是ajax或者定时触发。但是服务器也会有一定的压力。可以将建索引的过程在客户端实现,比如C#或者JS来实现,不过JS还没有处理二进制的能力。

此外这两个程序的授权我还没有仔细研究过,得关注下。过几天推出PHP中文手册HTML版的全文检索服务。

Tags: 全文检索

« 上一篇 | 下一篇 »

Comment (require):