アプリケーションでDiscourse v3.1.5を使用しています。トピックのセマンティック検索を試すと、最も類似しているものから最も類似していないものへとトピックがランク付けされますが、検索クエリがまったく異なる場合でも、すべてのトピックが結果に表示されます。検索結果として表示されるために、少なくとも特定の類似性を持つように検索結果を制限したいと思います。そのような方法はありますか?
デフォルトでは、最も近い50件の結果に制限されます。現時点では、任意の類似性しきい値を渡す方法はありませんが、追加できるようです。
どのように想像しますか?最大距離を持つ単一の設定ですか?
「いいね!」 1
理想的にははい、最大距離を設定することで、関連性の低い検索結果を排除するのに役立ちます。
適切な最大距離の値をどのように決定するか、興味があります。1つのインスタンスでは簡単だと思いますが、この機能が私を遠ざけたことの1つは、そこにあるすべてのインスタンスに適切な値を計算してデフォルトとして設定することが簡単ではないことです。
デフォルトではnullで無効のままにして出荷できると思います。
「いいね!」 1
検索対象のデータがあまりない場合に、この機能は便利です。検索結果の関連性が低い場合に対処する別の方法として、検索の最大距離を制限しないのであれば、「近い一致は見つかりませんでした」というメッセージを表示することが挙げられます。
最大値の3分の1、例えば1/3に閾値を設定するのはどうでしょうか?あるいは、上位N件の結果のみを表示するのはどうでしょうか?
それが現在の動作であり、上位50件を表示します。
「いいね!」 2