Maison  >  Article  >  développement back-end  >  Comment connecter coreseek en php

Comment connecter coreseek en php

墨辰丷
墨辰丷original
2018-05-10 16:03:521426parcourir

Cet article présente principalement un exemple de combinaison de php et coreseek. Les amis qui sont intéressés par la façon dont php se connecte à coreseek peuvent s'y référer.

Ce qui suit est le code

<?php
require_once AN_ROOT."/inc/sphinxapi.php";
require_once AN_ROOT."/res/adodb/adodb.inc.php";
$keywords = $_REQUEST[&#39;keywords&#39;];

$info    = getInfoCoreSeek($keywords,$_GET[&#39;page&#39;]);

function getInfoCoreSeek($keywords,$page=1) {
    $mode = SPH_MATCH_ANY;
    $host = "localhost";
    $port = 3312;
    $index = "*";
    $limit = 4;
    $ranker = SPH_RANK_PROXIMITY_BM25;

    if(!$page) $page=1;
    $page = intval($page);
    $off = ($page-1)*$limit;

    $cl = new SphinxClient ();
    $cl->SetServer ( $host, $port );
    $cl->SetConnectTimeout ( 1 );
    $cl->SetWeights ( array ( 100, 1 ) );
    $cl->SetMatchMode ( $mode );
    $cl->SetLimits ( $off, $limit, ( $limit>10000 ) ? $limit : 10000 );
    $cl->SetRankingMode ( $ranker );
    $cl->SetArrayResult ( true );
    $res    = $cl->Query ( join(" ", $keywords), $index );
    if($res) {
        $pageL    = PageQuery($res[&#39;total&#39;],$page,4,"act=search&keywords=".$_REQUEST[&#39;keywords&#39;]);
        foreach($res[&#39;matches&#39;] as $v) {
            $arrID[]    = $v[&#39;id&#39;];    
        }
        $rs    = $GLOBALS[&#39;db&#39;]->GetAll("select id,title,content from info where id in(".join(&#39;,&#39;, $arrID).")");
        $GLOBALS[&#39;tpl&#39;]->assign(&#39;pageL&#39;, $pageL);
        //echo &#39;<pre class="brush:php;toolbar:false">&#39;;
        //print_r($res);
        //echo &#39;
'; return $rs; } } ?>

Recommandations associées :

Compilez et installez Sphinx et le chinois segmentation de mots sous Linux coreseek et l'extension sphinx de PHP

coreseek (sphinx) + Mysql + Thinkphp Explication détaillée de la construction d'un moteur de recherche chinois

coreseek configuration et fusion d'index incrémentielle Index

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:méthode de tri phpArticle suivant:méthode de tri php