複数の用語が使用されている場合に、SO 検索を現在の OR よりも AND スタイルの機能にデフォルト設定するという要求があります。
公式の回答は次のとおりでした。
思ったほど単純ではありません。SQL Server 2005 のFREETEXT()関数を使用していますが、AND と OR を指定する方法が見つかりません。
それで、方法はありますか?
私が見つけることができるリソースはたくさんありますが、私は専門家ではありません。
複数の用語が使用されている場合に、SO 検索を現在の OR よりも AND スタイルの機能にデフォルト設定するという要求があります。
公式の回答は次のとおりでした。
思ったほど単純ではありません。SQL Server 2005 のFREETEXT()関数を使用していますが、AND と OR を指定する方法が見つかりません。
それで、方法はありますか?
私が見つけることができるリソースはたくさんありますが、私は専門家ではありません。
私が見た限りでは、SQL 2005 (または 2008、私の知る限り) で FREETEXT() を使用する場合、AND を実行することはできません。
FREETEXT クエリは、ブール演算子、近接演算子、およびワイルドカード演算子を意図的に無視します。ただし、これを行うことができます:
WHERE FREETEXT('You gotta love MS-SQL') > 0
AND FREETEXT('You gotta love MySQL too...') > 0
またはそれは私が思うものです:)
-- ブール値に評価するという考え方なので、ブール演算子を使用できます。これがエラーになるかどうかはわかりません。うまくいくはずだと思います。しかし、参考資料は、これが設計上不可能であるという事実を指摘しています。
FREETEXT() の代わりに CONTAINS() を使用すると役立つ場合があります。
フリーテキストについて読み始めたばかりなので、ご容赦ください。VB などのタグの検索を許可する場合、VB6、Visual Basic、VisualBasic、および VB.Net としてタグ付けされたものも検索します。これらの値は、クエリ パラメータではなく、DB のシソーラスでシノニムとして設定されません。 ?
その場合は、MSDN のこのリンクでシソーラスに項目を追加する方法が説明されています。
わかりました、この変更は行われました - 今では、その Implicitの代わりにCONTAINS()
with Implicitを使用しています。AND
FREETEXT()
OR