已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2009-11-06,Sphinx使用经验分享,研发中心黄胜,Contents,引言,1,什么是Sphinx,Sphinx优缺点,4,系统的安装部署,3,5,Sphinx的配置,6,相关应用,4,2,5,6,引言,1,引言,系统A:数据量大,内容审核现有搜索建立索引慢;人员流动,现有搜索难于维护;,背景:内容审核搜索的现状,系统B:前端调用复杂;使用全表扫描,搜索速度慢;对结果的没有排序;难于最快找到最精确的数据,改进要点:1、高速的索引建立;2、避免对数据库做like操作,减少压力;3、对搜索的结果进行权重排序;4、前端开发调用方便;5、最好门槛低,易于掌握且后期维护,引言,为什么是Sphinx?,引言,Contents,什么是Sphinx,2,HotTip,什么是全文检索?全文检索是指计算机索引程序通过扫描文章中的每一个词,对每一个词建立一个索引,指明该词在文章中出现的次数和位置,当用户查询时,检索程序就根据事先建立的索引进行查找,并将查找的结果反馈给用户的检索方式。这个过程类似于通过字典中的检索字表查字的过程。全文检索系统是按照全文检索理论建立起来的用于提供全文检索服务的软件系统。一般来说,全文检索需要具备建立索引和提供查询的基本功能,此外现代的全文检索系统还需要具有方便的用户接口、面向WWW的开发接口、二次应用开发接口等等。功能上,全文检索系统核心具有建立索引、处理查询返回结果集、增加索引、优化索引结构等等功能,外围则由各种不同应用具有的功能组成。结构上,全文检索系统核心具有索引引擎、查询引擎、文本分析引擎、对外接口等等,加上各种外围应用系统等等共同构成了全文检索系统。,什么是Sphinx,HotTip,什么是全文检索?,什么是Sphinx,HotTip,什么是Sphinx?(Sphinx=SQLpraseindex)Sphinx是一个基于SQL的全文检索引擎,可以结合MySQL,PostgreSQL做全文搜索,它可以提供比数据库本身更专业的搜索功能,使得应用程序更容易实现专业化的全文检索。Sphinx特别为一些脚本语言设计搜索API接口,如PHP,Python,Perl,Ruby等。同时为MySQL也设计了一个存储引擎插件。,什么是Sphinx,HotTip,Sphinx组件索引生成器(indexer)查询数据库,为结果的每行中的指定字段建立索引,并且将每个索引条目绑定到行的主键上。搜索引擎(searchd)搜索引擎是名为searchd的守护程序。该守护程序将接收搜索词和其他参数,快速遍历一个或多个索引,并返回结果。如果找到匹配,searchd将返回一个主键数组。对于这些键,应用程序可以针对相关数据库运行查询来查找包含匹配的完整记录。Searchd默认将在端口3312上通过套接字连接与应用程序进行通信。命令行search实用程序(search)search实用程序使您可以从命令行构造搜索而无需编写代码。如果searchd返回匹配,则search将查询数据库并显示匹配集中的行。search实用程序对于调试Sphinx配置和执行临时搜索十分有用。,什么是Sphinx,Sphinx优缺点,3,Sphinx优缺点,优点:高速索引(10MB/s)高速搜索(2-4G的文本量中平均查询速度不到0.1秒)高可用性(单CPU上最大可支持100GB的文本,100万条纪录)提供良好的相关性排名支持分布式搜索提供MySQL内部插件式存储引擎上搜索支持多字段的检索域支持断词支持MySQL(MYISAM和INNODB)和Postgres数据库支持windows,linux,unix,mac等平台,Sphinx优缺点,缺点:必须要有主键主键必须为整型不负责数据存储配置不灵活(),Diagram,系统的安装部署,4,系统的安装部署,安装步骤:中文分词工具mmseg数据库mysqlSphinx插件补丁(SphinxSE)Sphinx中文支持安装Sphinx配置,系统的安装部署,安装中文分词工具mmseg:cd/opt/search/srctarxfmmseg-0.7.3.tar.gzcdmmseg-0.7.3./configureprefix=/opt/search/app/mmsegmakemakeinstallmakeclean,系统的安装部署,安装中文分词工具mmseg:,系统的安装部署,安装MySQL数据库:cd/opt/search/srctarxfsphinx-0.9.8-rc2.tar.gztarxfmysql-5.1.29-rc.tar.gzcdsphinx-0.9.8-rc2patchp1SetServer(localhost,3312);/设置连接Sphinx主机名与端口$cl-SetWeights(array(100,1);/可选,为检索字段设置权重$cl-SetMatchMode(SPH_MATCH_ALL);/设定搜索模式$cl-SetGroupBy($attribute,$func,$groupsort);/相当于GROUPBY$cl-SetSortMode(SPH_SORT_EXTENDED,$sortby);/ORDERBY$cl-SetLimits($start,$limit)/相当于limit$offset$limit/$q是查询的关键字,$index是索引名称,当等于*时表查询所有索引$res=$cl-Query($q,$index);,Sphinx的应用,Sphinx调用方式通过安装的SphinxSE:创建sphinx专用表CREATETABLEsphinx(idint(11)NOTNULL,weightint(11)NOTNULL,queryvarchar(255)NOTNULL,CATALOGIDINTNOTNULL,EDITUSERIDINTNOTNULL,HITSINTNULL,ADDTIMEINTNOTNULL,KEYQuery(Query)ENGINE=SPHINXDEFAULTCHARSET=gbkCONNECTION=sphinx:/localhost:3312/diary搜索语句:SELECTc.*FROMeht_articlesA
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/SDSES 014-2023水泥窑协同处置垃圾焚烧飞灰技术规范
- T/LXLY 38-2025牙骨质撕裂临床诊疗规程
- T/CDEIIEA 9-2024成渝地区电子信息先进制造集群公共服务平台 网络平台功能规范
- T/CFEII 0015.3-2023内容安全检测人工智能系统鲁棒性测评规范 第3部分:文本
- T/CSPSTC 207-2026抽水蓄能电站建筑装饰装修技术导则
- GB/T 7424.2219-2026光缆第2-219部分:总规范光缆基本试验方法环境性能试验方法方法F19材料相容性
- 2025~2026学年贵州省遵义市播州区人教版六年级上册第三次月考数学试卷【附答案】
- 河北滦平县2027届九上数学期末考试试题含解析
- PHP程序员面试题及详细答案(真实企业版)
- 2026年混凝土工(高级)职业资格考试真题及答案
- 2026年注册(营养师、营养指导员)资格证必过考试题库与答案
- 2026年软件工程开发工程师试题及答案
- 2025年10月自考02126应用文写作试卷及答案
- 2026年监理员考试题库及答案
- 航道、通航建筑物及航运枢纽大坝运行安全风险辨识评估管控指南(试行)
- 2026年屠宰兽医卫生检验员考试题库(含考点)
- 2026中国资源循环集团有色金属投资有限公司社会招聘2人笔试历年典型考点题库附带答案详解
- pdf日语专业毕业论文写作指导
- (正式版)DB50∕T 959-2019 《营运高速公路施工管理规范 》
- 银行客户投诉处理培训
- 阳光合法经营承诺书8篇
评论
0/150
提交评论