适合初学者的理解Sphinx运行方式

#网上虽然有这么一张图,但是解释很少,我也觉得只看这张图很难深刻理解Sphinx,下面我通俗的介绍一下;

#首先有一个MySQL主库,这个主库的存储引擎是InnoDB;

#服务器运行两个MySQL从库进程,假定端口号分别是3306和3406;

#创建主库和从库的目的是为了让数据库一直处于工作状态;

#端口号为3306的进程包括MyISAM和Sphinx两个存储引擎,用于直接对接php&SQL查询;

#端口号为3306的进程包括两类数据表,一个是MyISAM表,另一个是Sphinx表;

#这两个表通过对应的ID做JOIN联合查询;

#关于Sphinx表,包括三个进程,分别是indexer、searchd和search。indexer用来创建全文索引,searchd用来启动全文检索服务,负责接受查询,处理查询和返回数据集,search访问全文检索服务,也就是发起查询,之后获取检索结果。假定Sphinx守护进程(也就是Searchd守护进程),端口号为3312;

#Sphinx守护进程包括两个索引,一个是主索引,一个是增量索引;

#增量索引的优点是准实时性,它的缺点是增加查询时的I/O操作,从而牺牲了效率;

#增量索引定期和端口号为3406的服务器进程通信,获取最新的数据变化;

#索引查找依赖于索引的建立,索引技术里面的全文索引依赖于词库(也或者说是词典),词库的核心是分词技术,分词技术主要包括二元法和词库法;

#词库的更新目前主要使用“正向最大匹配”+“逆向最大匹配”,统计学方法和自动维护技术(百科);

#要理解这个模型的关键在于,主库不负责接受查询,但是却接受php的更新操作,php一方面连接数据库作更新操作,一方面与sphinx联合作索引高效搜索,而sphinx索引的建立又依赖于数据库;​

http://sphinxsearch.com/ 斯芬克斯下载地址

简单来说 sphinx就是一个搜索引擎 用来顶替 mysql 或者他数据库的全文检索,速度提升很多倍,除此之外还有elasticsearch

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值