2011-04-22 65 views
2

我是獅身人面像搜索新手。如何在PHP中使用這種匹配模式?Sphinx SPH_MATCH_ALL,SPH_MATCH_PHRASE,SPH_MATCH_BOOLEAN,SPH_MATCH_ALL和SPH_MATCH_EXTENDED2?

例子:

SPH_MATCH_ALL,SPH_MATCH_PHRASE,SPH_MATCH_BOOLEAN,SPH_MATCH_ALL and SPH_MATCH_EXTENDED2? 

    <?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 Bormis","abc_index"); 

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

在這段代碼在這裏工作只有SPH_MATCH_ANY。

但是,我需要與搜索詞存在match.and

如何使用所有在這個例子中,Matchind模式?

回答

1

首先選擇你matching mode,它們都以不同的方式工作。根據您的應用程序,您可以選擇。

Sphinx使用一些查詢運算符,如&(和),|(或)等,所以如果你發送一個查詢如"&name Bormis",獅身人面像可能不理解它。

嘗試僅使用「Bormis」作爲查詢,也查看匹配模式之間的差異。如果您願意,也可以使用search in the command line來測試您的配置是否正確。

祝你好運!

+0

好吧,這很好。我仍然困惑。在哪裏準確使用這些匹配模式? – Ikon 2011-04-22 09:00:58