2017-01-21 16 views
0

私はsphinxを使用していますが、通常の使用クエリでは期待どおりの結果を返します。しかし、1つのクエリはこれを拒否します。なぜSphinxのこのクエリが失敗しますか?

"air compressor @provider 2"/1 

は、誰もがこのクエリは、まだ「2」とは異なるIDを持つプロバイダから結果を返す理由を説明していただけます。

$cl = new SphinxClient(); 
$cl->SetServer("localhost", 9312); 
$cl->SetMatchMode(SPH_MATCH_EXTENDED ); 
$cl->SetRankingMode (SPH_RANK_SPH04); 
$q = '"' . $cl->EscapeString($_REQUEST['keyword']) . ' @provider 2"/1'; 
$result = $cl->Query($q, 'mainIndex'); 

クエリがなってしまう:私は、次のクエリのコードを使用していますか?

答えて

0

まあ、クォラム演算子は、 '最も外側の'演算子です。引用符の中のすべての単語は、それが使用する単語になります。それは特別な意味がありません。したがって、クエリは

"air compressor provider 2"/1 

と同じです。したがって、これらの4つの単語のうちの1つだけを必要とします。

あなただけの2つのキーワードにクォーラムを行うだろう、とそのフィールドの構文は仕事、およびプロバイダを一致させるために「2」を必要とする

"air compressor"/1 @provider 2 

を行うことを意味だろうか。

関連する問題