質問

2つのテーブルでFREETEXTTABLEを2回使用し、結果をマージして上位50件を返すストアプロシージャがあります。

問題は、「Women of Brewster」で検索すると、「Confession of a ex doofus motha」という結果が返されることです。テーブルAのランク143、2番目の「ブリュースタープレースの女性」テーブルBのランクは102です。

これはカウントのためですか? (表Aの返品結果の合計は2399です。表Bの返品結果の合計は3445です。)

役に立ちましたか?

解決

簡単な答え:

  

フリーテキストランキングはOKAPIに基づいています   BM25ランキング式。の各用語   クエリはランク付けされ、値は   合計した。フリーテキストクエリが追加されます   屈折を介したクエリへの単語   世代(の茎の形   元のクエリ用語);これらの言葉は   なしの個別の用語として扱われます   特別な重み付けまたはとの関係   彼らがいた言葉   生成されました。から生成された同義語   シソーラス機能は次のように扱われます   個別に均等に重み付けされた用語。

もちろん、はるかに長く、はるかに複雑な答えは、Microsoftのサイトにあります。高度な数学については、ここをクリック

他のヒント

1)ノイズファイルは数文字に制限されていました。つまり、「of」という単語が今は重要だと考えています。

2)2つのテーブルの結果(カウント)は重要です。小さいテーブルほど、より良い重み値が与えられる可能性が高いためです。これにより、小さなテーブルでランクが高くなります。

JosefのMSDNへのリンクは、ランク値の計算方法を理解するのに優れていました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top