[分享]sphinx教程PPT附示范代码

<?php
//示例代码
include 'sphinxapi.php';
$sp = new SphinxClient;
$sp->SetServer('127.0.0.1', 9314);
$sp->SetConnectTimeout(5);
$sp->SetLimits(0, 10);//($start, $limit)
$keyword = (isset($_GET['kw']) && !empty($_GET['kw'])) ? trim($_GET['kw']) : '爱爱医';
$result = $sp->Query($keyword,'iiyicms');//'*' | 'iiyicms:iiyicms_increment'
$matches = isset($result['matches']) ? $result['matches'] : '';
if ($matches == '')
{
      return array();
}
$ids = array_keys($matches);
$id = implode(",", $ids);
$link = mysql_connect('localhost','root','123456') or die('mysql link fail!');
mysql_select_db('iiyicms',$link);
mysql_query("SET NAMES UTF8");
$sql = "select a.id,a.typeid,a.click,a.title,a.writer,a.source,a.pubdate as dateline,o.body as content"
      ." from i_archives as a left join i_addonarticle as o on a.id=o.aid where a.id in(".$id.")";
$result = mysql_query($sql,$link);
$data = array();
while ($row = mysql_fetch_assoc($result))
{
      $data[] = $row;
}
mysql_close($link);
$p_titles = array();
$p_contents = array();
$build_opts    = array(                    //查询结果集设置
      'before_match'    => '</pre>
<span style="color: red;">',
 'after_match'        => '</span>
<pre>',
      'limit'                    => '130',
      //'exact_phrase'        => true,
      'single_passage'    => true,
      'chunk_separator' => '',
   );
foreach($data as $key=>$value)
{
      $p_titles[$key] = $value['title'];
      $p_contents[$key] = $value['content'];
}
$p_titles   = $sp->BuildExcerpts($p_titles, 'iiyicms', $keyword, $build_opts);
$p_contents = $sp->BuildExcerpts($p_contents, 'iiyicms', $keyword, $build_opts);
foreach($data as $key=>$post)
{
      $data[$key]['title']  = $p_titles[$key];
      $data[$key]['content'] = $p_contents[$key];
}
echo '
';
var_dump($data);
echo '
';
exit();

你可能感兴趣的:(sphinx,ppt)