MS SQL全文検索では、クエリでISABOUTを使用しています。
たとえば、これはテーブル内のフィールドをProductIDs
持つトップ10(PK)を返す必要がありますRANK
ProductDetails
SELECT *
FROM CONTAINSTABLE( ProductDetails, *, ISABOUT("Nikon" WEIGHT (1.0), "Cameras" Weight(0.9)), 10 )
ただし、SQLドキュメント ISABOUT
によると非推奨です。
だから、私は2つの質問があります:
- 何
ISABOUT
に置き換えられますか? - そこに余分な
SQL Command
ものが必要ですか?(IOW、検索フレーズ「Nikon Cameras」を入れるだけの方がいいでしょうか?)
私が最初にここで達成しようとしていたのは、最初の単語を最も高く、次に2番目の単語をより低く重み付けし、0.5まで下げ続け、残りの単語を0.5にランク付けすることでした。
私の論理(そしておそらくそれは欠陥がある)は、人々の最も関連性のある検索語は通常、フレーズの先頭近くで発生するというものでした(英語)。
- 私はこれを間違った方法で行っていますか?
- もっと良い方法はありますか?
- 質問が多すぎませんか?(^ _ ^)
お時間をいただきありがとうございます...