3

複数の用語が使用されている場合に、SO 検索を現在の OR よりも AND スタイルの機能にデフォルト設定するという要求があります。

公式の回答は次のとおりでした。

思ったほど単純ではありません。SQL Server 2005 のFREETEXT()関数を使用していますが、AND と OR を指定する方法が見つかりません。

それで、方法はありますか?

私が見つけることができるリソースはたくさんありますが、私は専門家ではありません。

4

3 に答える 3

2

私が見た限りでは、SQL 2005 (または 2008、私の知る限り) で FREETEXT() を使用する場合、AND を実行することはできません。

FREETEXT クエリは、ブール演算子、近接演算子、およびワイルドカード演算子を意図的に無視します。ただし、これを行うことができます:

WHERE FREETEXT('You gotta love MS-SQL') > 0
 AND FREETEXT('You gotta love MySQL too...') >  0

またはそれは私が思うものです:)

-- ブール値に評価するという考え方なので、ブール演算子を使用できます。これがエラーになるかどうかはわかりません。うまくいくはずだと思います。しかし、参考資料は、これが設計上不可能であるという事実を指摘しています。

FREETEXT() の代わりに CONTAINS() を使用すると役立つ場合があります。

于 2008-08-24T19:10:34.207 に答える
1

フリーテキストについて読み始めたばかりなので、ご容赦ください。VB などのタグの検索を許可する場合、VB6、Visual Basic、VisualBasic、および VB.Net としてタグ付けされたものも検索します。これらの値は、クエリ パラメータではなく、DB のシソーラスでシノニムとして設定されません。 ?

その場合は、MSDN のこのリンクでシソーラスに項目を追加する方法が説明されています。

于 2008-08-24T19:46:56.867 に答える
1

わかりました、この変更は行われました - 今では、その Implicitの代わりにCONTAINS()with Implicitを使用しています。ANDFREETEXT()OR

于 2008-08-24T23:40:09.253 に答える