1

Xapianにインデックスがあり、すべてのドキュメントには、並べ替えで使用したい値(dinstinct)があります。

問題は、私が使用するとき:

$enquire->set_sort_by_value_then_relevance(1);

Xapianは、値でのみ、または次を使用する場合にのみ並べ替えます。

$enquire->set_sort_by_relevance();

Xapianは関連性のみでソートします。

関連性50%+値50%で並べ替え、このタイプの並べ替えを次々にではなく混合したいと思います。

Xapianでこれを作ることはできますか?

ありがとうございました

4

1 に答える 1

-1

この種の問題の場合、実行する必要があるのは、PostingSourceを使用して、Xapianのランキングアルゴリズムに供給されるドキュメントの重みに影響を与えることです。PostingSourceがドキュメント値からの重みを使用する場合、これらは最終的な重みと順序の確率的関連性とともに考慮されます。

読むべきPostingSourcesの紹介があります。これには、ここでやりたいことにかなり近い例(Python)が含まれています。(WeightSourceクラスを書き直してget_weight()からドキュメント値を返し、get_maxweight()の適切な実装を考え出した場合、必要なものが得られます。)

私はこれをPHPで行ったことがありませんが、動作するはずのことを理解しているので、動作しない場合はバグと見なされ、報告する必要があります。

于 2012-10-01T16:19:01.287 に答える