Sphinx使用经验分享.ppt

  1. 1、本文档共38页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Sphinx 的配置 Sphinx 主索引+增量索引配置(增量索引数据源) sql_query_pre = SET NAMES utf8 sql_query_pre ?= SET SESSION query_cache_type=OFF sql_query ? ? ? ? = SELECT pid, fid,tid,authorid, dateline, \ ? ? ? ? ? ? ? ? subject, message FROM cdb_posts ? ? ? ? ? ? ? ? WHERE pid ? ? ? ? ? ? ? ? ?(SELECT max_doc_id FROM search_counter WHERE counterid=1) Sphinx 的配置 创建索引 主索引 cd /opt/search/app/sphinx ./bin/indexer –c ./etc/diary.conf 主索引1 --rotate 增量索引 cd /opt/searchd/app/sphinx ./bin/indexer –c ./etc/diary.conf 增量索引1 --rotate 合并主索引和增量索引 cd /opt/searchd/app/sphinx ./bin/indexer --config etc/sphinx.conf --merge 主索引 增量索引 --merge-dst-range deleted 0 0 --rotate Contents Sphinx 的应用 6 Sphinx 的应用 Sphinx 调用方式 1、自带search 2、Sphinx官方提供的API接口 3、通过安装的SphinxSE Sphinx 的应用 Sphinx 调用方式 自带search cd /opt/search/app/sphinx ./bin/search –c ./etc/diary.conf 搜索词 Sphinx 的应用 Sphinx 调用方式 Sphinx官方提供的API接口 $cl = new SphinxClient (); ? //创建Sphinx的客户端接口对象 $cl-SetServer(‘localhost’,3312); ? //设置连接Sphinx主机名与端口 $cl-SetWeights ( array ( 100, 1 ) ); //可选,为检索字段设置权重 $cl-SetMatchMode(SPH_MATCH_ALL); ? //设定搜索模式 $cl-SetGroupBy($attribute, $func, $groupsort); ? //相当于GROUP BY $cl-SetSortMode(SPH_SORT_EXTENDED, $sortby); ? //ORDER BY $cl-SetLimits($start,$limit) ? //相当于limit $offset $limit //$q是查询的关键字,$index是索引名称,当等于*时表查询所有索引 $res = $cl-Query ( $q, $index ); Sphinx 的应用 Sphinx 调用方式 通过安装的SphinxSE: 创建sphinx专用表 CREATE TABLE `sphinx` ( `id` int(11) NOT NULL, `weight` int(11) NOT NULL, `query` varchar(255) NOT NULL, `CATALOGID` INT NOT NULL, `EDITUSERID` INT NOT NULL, `HITS` INT NULL, `ADDTIME` INT NOT NULL, KEY `Query` (`Query`) ) ENGINE=SPHINX DEFAULT CHARSET=gbk CONNECTION=sphinx://localhost:3312/diary 搜索语句: SELECT c.* FROM eht_articles AS c,sphinx AS t WHERE c.articlesid=t.id AND query=‘@title 你好 | @contents 世界; mode=all;maxmatch=2000;sort=@weight desc 2009-11-06 QA 研发中心 黄胜 () 2009-11-06 Sphinx 使用经验分享 研发中心 黄胜 Contents 引言 1 什么是Sph

文档评论(0)

wuyoujun92 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档