网站首页 > PHP教程> 文章内容

PHP教程sphinx全文检索之PHP使用教程

※发布时间:2013-5-21 8:49:28   ※发布作者:habao   ※出自何处: 

  $result是一个数组,其中

  total是匹配到的数据总数量

  matches是匹配的数据,包含id,attrs这些信息

  words是搜索关键字的分词

  你可能奇怪为什么没有邮件的内容这些信息,其实sphinx并不会返回像mysql那样的数据数组,因为sphinx本来就没有记录完整的数据,只记录被分词后的数据。

  具体还要看matches数组,matches中的ID就是指配置文件中sql_querySELECT语句中的第一个字段,我们配置文件中是这样的

  sql_query=SELECTemailid,fromid,toid,subject,content,sendtime,attachementFROMemail

  所以matches中的ID是指emailid

  至于weight是指匹配的权重,一般权重越高被返回的优先度也最高,匹配权重相关内容请参考文档

  attrs是配置文件中sql_attr_中的信息,稍后会提到这些属性的用法

  说了这么多,即使搜索到结果也不是我们想要的email数据,但事实sphinx是不记录真实数据的,所以要获取到真实email数据还要根据matches中的ID去搜索mysql的email表,但总体来说这样一来一回的速度还是远远比mysql的LIKE快得多,前提是几十万数据量以上,否则用sphinx只会更慢。

  接下来介绍sphinx一些类似mysql条件的用法

  可使用如下模式对搜索结果排序:

  SPH_SORT_RELEVANCE模式,按相关度降序排列(最好的匹配排在最前面)

  SPH_SORT_ATTR_DESC模式,按属性降序排列(属性值越大的越是排在前面)

  SPH_SORT_ATTR_ASC模式,按属性升序排列(属性值越小的越是排在前面)

  SPH_SORT_TIME_SEGMENTS模式,先按时间段(最近一小时/天/周/月)降序,再按相关度降序

  SPH_SORT_EXTENDED模式,按一种类似SQL的方式将列组合起来,升序或降序排列。

  SPH_SORT_EXPR模式,按某个算术表达式排序

  如果你想一个免费、好用、极速的全文搜索引擎,sphinx无疑是最好的选择,但是不要忘记sphinx的目的:全文检索。不要去想那些乱七八糟条件。你想要把sphinx搜索变得像mysql那样灵活,可完全单独用在一些复杂的多条件搜索,像某些邮件的高级搜索,那么我你还是多花点时间在PHP或者mysql代码的优化上,因为那样可能会让你的搜索变得更慢。

  最好的方法是以最简单的方法搜索到内容,将ID交还mysql数据库搜索。

相关阅读
重庆学习网zslpsh,0755深圳房产人才招聘网,拾年网90后,anedc股票,最新电影下载淘娱淘乐,重庆中学生网高考,重庆中学生网高考,学习重庆方言网,重庆中学生学习方法,重庆俗语网,中学生网zslpsh,0755深圳交友网,重庆初中生,贵州重庆方言网,025新闻网,西南重庆方言歌曲,025南京交友网,重庆农家乐美女,观赏蟹种类zadull,云南重庆方言网,重庆中学学习网,028成都交友网,推广taoyutaol,西南四川方言网,观赏龟论坛zadull,四川重庆方言网,022天津交友网,重庆中学生网家长,鹦鹉鱼zadull,重庆俗语,电影淘娱淘乐,taoyutaole娱乐,华夏视讯网,0755深圳旅游招聘,昆明重庆方言网,淘娱淘乐影视,www.00game.net,观赏鱼zadul,重庆高考zslpsh,重庆中学生网高考,027房产招聘网,坝坝舞wagcw,西南重庆方言网,贵州重庆方言网,重庆言子儿网,热带鱼zadull,重庆高考zslpsh,0755深圳旅游招聘网,淘娱淘乐影视网,0571.361.cm,重庆方言学习网,028成都新闻,异形观赏鱼种类,影视网淘娱淘乐,最新电影下载淘娱淘乐,0773桂林论坛,拾年网80后动画片,观赏蟹论坛zadull,观赏龟繁殖教程,重庆一中zslpsh,重庆俗语网,广场舞wagcw,观赏虾的种类zadull,观赏鱼观赏虾观赏龟,西南方言网,观赏鱼之家论坛zadull,战争前线辅助00game,西南重庆方言小说,重庆中小学zslpsh,推广taoyutaol,战争前线论坛00game,0871交友网,025南京新闻网,重庆言子儿网站,娱乐taoyutaole,022天津交友网,025新闻网,重庆中学生网学习,022天津交友网,重庆方言歌网,www.120.cm健康网,anedc股票,重庆初中生