Sphinx使用经验分享.ppt_第1页
Sphinx使用经验分享.ppt_第2页
Sphinx使用经验分享.ppt_第3页
Sphinx使用经验分享.ppt_第4页
Sphinx使用经验分享.ppt_第5页
已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论