проблема идеального соответствия sphinx?

#php #sphinx

#php #sphinx

Вопрос:

я новичок в Sphinx.

 <?php
    include('sphinxapi.php');
    $cl = new SphinxClient();
    $cl->SetServer('localhost',9312);
    //$cl->SetMatchMode(SPH_MATCH_ANY);
    //$cl->SetMatchMode(SPH_MATCH_EXTENDED2);
    //$cl->SetMatchMode(SPH_MATCH_ALL);
    $cl->SetMatchMode(SPH_MATCH_PHRASE);
    $cl->SetArrayResult(true);
    $cl->SetLimits(0, 100); 
    $result = $cl->Query("amp;name one boy","abc_index");

    echo "<pre>";
    print_r($result);
    exit;
?>
  

мне нужны только записи соответствия слов « one boy «, какой режим соответствия подходит для этого?

я уже использую SPH_MATCH_PHRASE режим. Но это не работает?

Ответ №1:

   <?php    
    include('sphinxapi.php'); 
    $cl = new SphinxClient();  
    $cl->SetServer('localhost',9312);
    $cl->SetMatchMode(SPH_MATCH_EXTENDED2);
    $cl->SetArrayResult(true);
    $cl->SetLimits(0, 100);  
    //this is for perfect match mode
    $searchkey='one boy';
    $sphinxQry = '@(name) '. '"'.$searchkey.'"';
    $result = $cl->Query($sphinxQry,"abc_index");

   echo "<pre>";   

   print_r($result);  
   exit; ?> 
  

Комментарии:

1. Если вы используете какой-либо тип stemming, вы также получите совпадение для ‘one boys’. Я думаю…