誰かがSphinxランキングオプションを利用することができましたか?私はマニュアルと本を読んだが、ランキングは一切できない。私が理解しているところでは、ランク付けは単純に異なる方法で重みを計算し、並べ替えのタイプは何もしません。 @weight(内部のsphinxフィールド)でソートした結果をソートモードで拡張しましたが、これは必要ですが、異なるランク付けモードの違いは見られません。 スフィンクス検索ランキングが壊れていますか?
$cl->SetMatchMode(SPH_MATCH_EXTENDED2);
$cl->SetSortMode (SPH_SORT_EXTENDED, "mylang DESC, @weight DESC, @id");
これらのどちら
はどんな違いが:私の設定は次のようなものである$cl->setRankingMode(SPH_RANK_SPH04);
$cl->setRankingMode(SPH_RANK_PROXIMITY_BM25);
をと重量は、どちらのモードでも同じです。
最終的に、私が達成しようとしているのは、正確に一致する用語を正確にトップに並べることです。次のように例えば、「ハリー・ポッター」を探している場合の結果は次のようになります。
Harry Potter
Harry Potter and the potters
Harry Potter and the Prisoner of Azkaban
Harry Potter and the Deathly Hallows: Part 1
これは一例ですが、最初の結果は、他の人が希望、その後、正確な検索用語が含まれているものでなければなりません続く。これは起こっていない。誰でもこれに関する経験はありますか?
'$ cl-> setRankingMode(SPH_RANK_SPH04);はそれを処理し、正確に一致するときに "Harry Potter"を上に持って来るはずですが、実際にはうまくいけば、それはsphinxapi.phpファイルには含まれていません。あなたがそれを考慮しているにもかかわらず、それは考慮されていないし、さらにエラーを生成しません。これはトラブルシューティングすることが非常に難しいので、ひどいです。それが他の人を助けることを期待しています。 – kakubei
kukubei、SPH_RANK_SPH04もBM25に基づいており、SPH_MATCH_EXTENDED2モードと同じように動作します。フレーズマッチ "Harry Potter"は、 "Harry Potter and the Deathly Hallows:Part 1"よりも上回らないでしょう。 –
ヤロスラフは、ドキュメントによると、それは正確な問題(それはBM25の主な違いの1つです)と実際にはバージョン2.0.2以降で修正されるはずです。 – kakubei