浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别


Posted in PHP onDecember 15, 2016

Sphinx是一个基于SQL的全文检索引擎;普遍使用于很多网站

Sphinx的特性如下:

a)  高速的建立索引(在当代CPU上,峰值性能可达到10 MB/秒);

b)  高性能的搜索(在2 ? 4GB 的文本数据上,平均每次检索响应时间小于0.1秒);

c)  可处理海量数据(目前已知可以处理超过100 GB的文本数据, 在单一CPU的系统上可处理100 M 文档);

Sphinx本身对中文的支持并不好。

主要体现在对一段话断词;英文只需按照空格对其分词即可;但对于博大精深的中文来说,却是件困难的事情。

分词在两个地方会用到;

1、索引时,根据分词索引原始数据

2、搜索时,对用户输入分词,到索引中查询

目前最常用的三种方案Coreseek、Sphinx-for-chinaese、Sphinx+Scws

1、Coreseek 为国人基于Sphinx开发的方案,目前最稳定版,是基于经典的Sphinx0.9.9版

优点:有成熟的文档、以及社区;其分词mmseg为目前国内最为好用分词,索引和搜索分词都可以用到;

缺点:深度开发、版本更新较慢;索引较慢

策略:一个词库管理后台,维护词库;定期生成字典;此套件会自动分词索引;

适用场景:普通青年、搭建差不多的搜索,适用于普遍网站

2、Sphinx-for-chinaese 为国人2基于经典的Sphinx0.9.9版开发的扩展版

优点:部署简单,易操作,内嵌分词和词库,索引和搜索分词都可以用到;

缺点:版本更新较慢;分词较弱;索引相对较慢

策略:同一

适用场景:普通青年、快速搭建搜索的小站

3、Sphinx+Scws 为两套独立系统,单独部署,所谓高内聚低耦合,强烈推荐

优点:两套系统,相对独立,各自单独Server;分词可以做其他用途;版本更新较快;

缺点:部署稍复杂,使用稍复杂;索引分词只能用一元分词,数据量较大

策略:词库管理外;使用时,先调用分词服务,后调用搜索

适用场景:文艺青年、搭建像样点的搜索;好吧文艺青年

以上这篇浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
8个出色的WordPress SEO插件收集
Feb 26 PHP
php数组函数序列之end() - 移动数组内部指针到最后一个元素,并返回该元素的值
Oct 31 PHP
使用 PHPMAILER 发送邮件实例应用
Nov 07 PHP
ThinkPHP后台首页index使用frameset时的注意事项分析
Aug 22 PHP
PHP 7.0.2 正式版发布
Jan 08 PHP
PHP实现163邮箱自动发送邮件
Mar 29 PHP
PHP Oauth授权和本地加密实现方法
Aug 12 PHP
创建无限极分类树型结构的简单方法
Jun 20 PHP
PHP基于DOMDocument解析和生成xml的方法分析
Jul 17 PHP
Ajax+PHP实现的分类列表框功能示例
Feb 11 PHP
php实现的顺序线性表示例
May 04 PHP
解决PHPstudy Apache无法启动的问题【亲测有效】
Oct 30 PHP
浅谈socket同步和异步、阻塞和非阻塞、I/O模型
Dec 15 #PHP
PHP接口并发测试的方法(推荐)
Dec 15 #PHP
浅谈PHP的反射机制
Dec 15 #PHP
php 三元运算符实例详细介绍
Dec 15 #PHP
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
Dec 14 #PHP
使用PHP下载CSS文件中的所有图片【几行代码即可实现】
Dec 14 #PHP
Thinkphp 中 distinct 的用法解析
Dec 14 #PHP
You might like
使用JSON实现数据的跨域传输的php代码
2011/12/20 PHP
PHP连接MongoDB示例代码
2012/09/06 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
在第一个input框内输入内容.textarea自动得到第一个文件框的值的javascript代码
2007/04/20 Javascript
javascript学习笔记(三)显示当时时间的代码
2011/04/08 Javascript
JavaScript编程的单例设计模讲解
2015/11/10 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
JS弹出新窗口被拦截的解决方法
2016/08/09 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的方法
2016/11/29 Javascript
jQuery实现页面滚动时智能浮动定位
2017/01/08 Javascript
JavaScript实现时钟滴答声效果
2017/01/29 Javascript
深入理解javascript的getTime()方法
2017/02/16 Javascript
webpack配置文件和常用配置项介绍
2017/04/28 Javascript
js分页之前端代码实现和请求处理
2017/08/04 Javascript
jQuery 开发之EasyUI 添加数据的实例
2017/09/26 jQuery
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
vue2.0 子组件改变props值,并向父组件传值的方法
2018/03/01 Javascript
vue组件与复用详解
2018/04/08 Javascript
详解webpack打包第三方类库的正确姿势
2018/10/20 Javascript
如何使用vuex实现兄弟组件通信
2018/11/02 Javascript
Vue中keep-alive 实现后退不刷新并保持滚动位置
2020/03/17 Javascript
Python进程通信之匿名管道实例讲解
2015/04/11 Python
解密Python中的描述符(descriptor)
2015/06/03 Python
Python多进程库multiprocessing中进程池Pool类的使用详解
2017/11/24 Python
Python中实例化class的执行顺序示例详解
2018/10/14 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
python Socket网络编程实现C/S模式和P2P
2020/06/22 Python
详解CSS3 用border写 空心三角箭头 (两种写法)
2017/09/29 HTML / CSS
美国眼镜网站:EyeBuyDirect
2017/04/13 全球购物
捷克时尚网上商店:OTTO
2018/03/15 全球购物
如何签定毕业生就业协议书
2014/09/28 职场文书
2014年终工作总结范本
2014/12/15 职场文书
关于公司年会的开幕词
2016/03/04 职场文书
导游词之苏州寒山寺
2019/12/05 职场文书
pytorch 如何使用float64训练
2021/05/24 Python
分享CSS盒子模型隐藏的几种方式
2022/02/28 HTML / CSS