当前位置: 首页 > 工具软件 > PHP Sphinx > 使用案例 >

php怎么样sphinx,php使用sphinx

韩华美
2023-12-01

2.使用sphinx php api测试:<?php

require ( "sphinxapi.php" ); //此文件在sphinx源代码的api文件夹中可以找到

$cl = new SphinxClient ();

$q = "weibo";

$sql = "test1";

$mode = SPH_MATCH_ALL;

$host = "localhost";

$port = 9312;

$index = "*";

// $groupby = "";

// $groupsort = "@group desc";

// $filter = "group_id";

// $filtervals = array();

// $distinct = "";

// $sortby = "";

// $sortexpr = "";

// $limit = 20;

// $ranker = SPH_RANK_PROXIMITY_BM25;

// $select = "";

$cl->SetServer ( $host, $port );

$cl->SetConnectTimeout ( 1 );

$cl->SetArrayResult ( true );

$cl->SetMatchMode ( $mode );

// if ( count($filtervals) ) $cl->SetFilter ( $filter, $filtervals );

// if ( $groupby ) $cl->SetGroupBy ( $groupby, SPH_GROUPBY_ATTR, $groupsort );

// if ( $sortby ) $cl->SetSortMode ( SPH_SORT_EXTENDED, $sortby );

// if ( $sortexpr ) $cl->SetSortMode ( SPH_SORT_EXPR, $sortexpr );

// if ( $distinct ) $cl->SetGroupDistinct ( $distinct );

// if ( $select ) $cl->SetSelect ( $select );

// if ( $limit ) $cl->SetLimits ( 0, $limit, ( $limit>1000 ) ? $limit : 1000 );

//$cl->SetRankingMode ( $ranker );

$res = $cl->Query ( $q, $index );

// print me out

if ( $res===false )

{

print "Query failed: " . $cl->GetLastError() . ".
";

} else

{

if ( $cl->GetLastWarning() )

print "WARNING: " . $cl->GetLastWarning() . "
";

print "Query '$q' retrieved $res[total] of $res[total_found] matches in $res[time] sec.
";

print "Query stats:
";

if ( is_array($res["words"]) )

foreach ( $res["words"] as $word => $info )

print " '$word' found $info[hits] times in $info[docs] documents\n";

print "
";

if ( is_array($res["matches"]) )

{

$n = 1;

print "Matches:
";

foreach ( $res["matches"] as $docinfo )

{

print "$n. doc_id=$docinfo[id], weight=$docinfo[weight]";

foreach ( $res["attrs"] as $attrname => $attrtype )

{

$value = $docinfo["attrs"][$attrname];

if ( $attrtype==SPH_ATTR_MULTI || $attrtype==SPH_ATTR_MULTI64 )

{

$value = "(" . join ( ",", $value ) .")";

} else

{

if ( $attrtype==SPH_ATTR_TIMESTAMP )

$value = date ( "Y-m-d H:i:s", $value );

}

print ", $attrname=$value";

}

print "
";

$n++;

}

}

}

?>

打印的结果:Query 'weibo' retrieved 1000 of 3873 matches in 0.001 sec.

Query stats:

'weibo' found 3873 times in 3873 documents

Matches:

1. doc_id=1, weight=1, import_timestamp=2015-06-26 16:25:41

2. doc_id=4, weight=1, import_timestamp=2015-06-26 16:25:41

3. doc_id=5, weight=1, import_timestamp=2015-06-26 16:25:41

4. doc_id=6, weight=1, import_timestamp=2015-06-26 16:25:41

5. doc_id=8, weight=1, import_timestamp=2015-06-26 16:25:41

6. doc_id=9, weight=1, import_timestamp=2015-06-26 16:25:41

7. doc_id=10, weight=1, import_timestamp=2015-06-26 16:25:41

8. doc_id=11, weight=1, import_timestamp=2015-06-26 16:25:41

9. doc_id=12, weight=1, import_timestamp=2015-06-26 16:25:41

10. doc_id=13, weight=1, import_timestamp=2015-06-26 16:25:41

11. doc_id=14, weight=1, import_timestamp=2015-06-26 16:25:41

12. doc_id=15, weight=1, import_timestamp=2015-06-26 16:25:41

13. doc_id=16, weight=1, import_timestamp=2015-06-26 16:25:41

14. doc_id=17, weight=1, import_timestamp=2015-06-26 16:25:41

15. doc_id=18, weight=1, import_timestamp=2015-06-26 16:25:41

16. doc_id=19, weight=1, import_timestamp=2015-06-26 16:25:41

17. doc_id=20, weight=1, import_timestamp=2015-06-26 16:25:41

18. doc_id=21, weight=1, import_timestamp=2015-06-26 16:25:41

19. doc_id=22, weight=1, import_timestamp=2015-06-26 16:25:41

20. doc_id=23, weight=1, import_timestamp=2015-06-26 16:25:41

 类似资料: