0

ユーザーがキーワードで検索して製品リファレンスを見つけることができるアプリケーションを開発しています (SQL 2008 のフルテキスト インデックス テーブルの FREETEXTTABLE 機能を使用)。これらの参照は、信頼できる 2 つの異なるデータベースから抽出されています。ただし、ランク順に並べると、同じ結果が得られません。私は次のようなリクエストを使用します:

Select xxx FROM Table as P_TBL
INNER JOIN FREETEXTTABLE(Table, column,'key words',LANGUAGE 1033) AS F_TBL
ON P_TB.id = F_TBL.[Key]
ORDER BY RANK

ここで、両方のリクエストのランキングに従って、最も関連性の高いリファレンスを見つけたいと思います。

ランキングを追加する方が良いかどうか疑問に思っています。たとえば、最初のテーブルのランキングが 115 で、2 番目のテーブルのランキングが 95 の場合、合計で 210 ランクになります。または、それらを乗算する方が良い場合 (100, 100 の参照は 10 000 の参照になります)、105,95 の参照は、加算で同じスコアであっても同じ結果ではないため、少なくなります。

この状況での結果の関連性を改善するためのアドバイスをいただければ幸いです

4

1 に答える 1

0

私は専門家ではありませんが、FREETEXTTABLE は 1 つのテーブルで 0 を返す可能性があるため、合計を使用します。この場合、乗算は現実を反映しません。一般的なランクは、クエリの個々の用語をランク付けして合計することによって計算されるOKAPI BM25 ランキング式に類推があります。

于 2013-01-16T14:25:48.427 に答える