PHP实现中文全文搜索的原理介绍-php教程

资源魔 42 0
普通的开发中的相干文章或内容都是经过要害词标签、题目来完成相干搜寻的,但这样是搜寻根本会应用低效的like语句,因为效率低下正在略微年夜一点的名目开发中咱们无奈进行文章或许相干内容的概况字段搜寻(效劳器压力过年夜、效率极低)。

常见的处理计划

一、sphinx + coreseek

优点 : 技巧成熟、稳固

缺陷 : sphinx 没有支持中文 coressk 今朝曾经中止保护【假如是纯英文环境 sphinx 极佳】

二、迅搜(Xunsearch)

优点 : 技巧成熟、稳固

缺陷 : 装置进程复杂,设置装备摆设不敷灵敏

三、mysql 全文搜寻

有点:装置不便、效率高

缺陷:对中文支持不敷好

来自hcoder的处理计划 (分词 + 自立设置装备摆设)

优点 : 装置简略(php 组件)、底层由开发者自行编写更明晰底层、更易的优化

缺陷 : 需求开发者有 php + mysql 根底,需求本人编写整个进程的代码

原理

一、猎取词语环节
文章数据表 -> 逐行读取文章信息 -> 组合一切文字内容 -> 分词、去重 -> 记载到新的数据表
二、搜寻环节
搜寻要害字记载表 -> 兼并文章数据 -> 去重 -> 展现数据

应用到的第三方组件(scws)

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

SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:繁难中文分词零碎)。

这是一套基于词频辞书的机器式中文分词引擎,它能将一整段的中文文本根本正确地切分红词。 词是中文的最小语素单元,但正在书写时其实不像英语会正在词之间用空格离开, 以是若何精确并疾速分词不断是中文分词的攻关难点。

SCWS 采纳纯 C 言语开发,没有依赖任何内部库函数,可间接应用静态链接库嵌入使用顺序, 支持的中文编码包罗 GBK、UTF-8 等。别的还提供了 PHP 扩大模块, 可正在 PHP 中疾速而不便地应用分词性能。

分词算法上并没有太多翻新成份,采纳的是本人采集的词频辞书,并辅以肯定的专着名称,人名,地名, 数字年月等规定辨认来达到根本分词,经小范畴测试精确率正在 90% ~ 95% 之间, 根本上能餍足一些小型搜寻引擎、要害字提取等场所运用。初次雏形版本公布于 2005 年末。

SCWS 由 hightman 开发, 并以 BSD 答应协定开源公布,源码托管正在 github。

以上就是PHP完成中文全文搜寻的原理引见的具体内容,更多请存眷资源魔其它相干文章!

标签: php php开发教程 php开发资料 php开发自学 中文全文搜索

抱歉,评论功能暂时关闭!