私はスフィンクス2.1.4を使用しています
次の方法でスフィンクスで検索していますが、
最初::
このクエリを使用して、php で PDO を介して sphinxql を使用する
SELECT * FROM $indexes WHERE MATCH(:match) LIMIT 0,10 OPTION ranker=bm25
インストールに付属する sphinxapi.php で同じことを行うと、ランキング モードはSPH_RANK_MATCHANYのみのように機能するようです。API を使用してランキング モードを変更しても機能しません。同じ結果が得られます。
これがAPIの実装です::
$conn = new SphinxClient();
$conn->SetServer("192.168.x.x", 9312);
$conn->SetMatchMode(SPH_MATCH_ANY);
$conn->SetRankingMode(SPH_RANK_BM25);
$conn->SetArrayResult(true);
$rows = $conn->Query('query', 'test1');
クエリメソッドは機能しているようですが、API は機能していません。何度かチェックしました。バグはありますか、それとも何か間違っていますか?