2011-04-25 61 views
2

我是獅身人面像的新手。獅身人面像完美匹配問題?

<?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("&name one boy","abc_index"); 

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

我只需要「one boy」字匹配的記錄,其匹配模式是正確的呢?

我已經在使用SPH_MATCH_PHRASE模式。但它不起作用?

回答

3
<?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; ?> 
+0

如果您正在使用某種形式的詞幹,您也會得到一個「一個男孩」的匹配。我認爲... – Rafa 2011-08-23 13:20:14