当前位置: 首页 > news >正文

适合初学者的理解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索引的建立又依赖于数据库;​

转载于:https://www.cnblogs.com/toocooltohavefriends/p/5223802.html

相关文章:

  • java--- Map详解
  • springMVC-mvc:annotation-driven
  • MyCat源码分析系列之——BufferPool与缓存机制
  • web项目中各种路径的获取
  • hdu 1081 dp问题:最大子矩阵和
  • ssh 命令
  • 0302思考并回答一些问题
  • html怎么添加背景图片
  • python的种类
  • 中国人民大学2016年硕士研究生复试基本要求
  • 韩顺平循序渐进学java 第08讲 this.类变量.类方法
  • 【Git】webstorm设置git
  • 尝试编辑java程序
  • JAVA经验技巧
  • 人生苦短,何必在乎太多
  • 【许晓笛】 EOS 智能合约案例解析(3)
  • Angular 4.x 动态创建组件
  • canvas绘制圆角头像
  • chrome扩展demo1-小时钟
  • es6--symbol
  • iOS 颜色设置看我就够了
  • Java,console输出实时的转向GUI textbox
  • jquery cookie
  • LeetCode算法系列_0891_子序列宽度之和
  • Linux Process Manage
  • React 快速上手 - 07 前端路由 react-router
  • SAP云平台运行环境Cloud Foundry和Neo的区别
  • Vue小说阅读器(仿追书神器)
  • 测试如何在敏捷团队中工作?
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 如何进阶一名有竞争力的程序员?
  • 删除表内多余的重复数据
  • 一些css基础学习笔记
  • 用Visual Studio开发以太坊智能合约
  • 源码之下无秘密 ── 做最好的 Netty 源码分析教程
  • elasticsearch-head插件安装
  • 策略 : 一文教你成为人工智能(AI)领域专家
  • 国内唯一,阿里云入选全球区块链云服务报告,领先AWS、Google ...
  • (14)学习笔记:动手深度学习(Pytorch神经网络基础)
  • (aiohttp-asyncio-FFmpeg-Docker-SRS)实现异步摄像头转码服务器
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (Matalb时序预测)PSO-BP粒子群算法优化BP神经网络的多维时序回归预测
  • (附源码)ssm基于jsp的在线点餐系统 毕业设计 111016
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (十二)devops持续集成开发——jenkins的全局工具配置之sonar qube环境安装及配置
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • **python多态
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .NET CF命令行调试器MDbg入门(一)
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .NET框架类在ASP.NET中的使用(2) ——QA
  • .Net中间语言BeforeFieldInit
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • @Autowired和@Resource的区别
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成