SQL Server 2005でFREETEXT()を使用してキーワードのAND検索を実行できますか?
-
09-06-2019 - |
質問
SO検索をデフォルトのANDにするためのリクエストがあります。複数の用語が使用されている場合、現在のORに対するスタイル機能。
公式の回答は次のとおりです。
見た目ほど単純ではありません。 SQL Server 2005の FREETEXT()を使用します。関数、およびANDとORを指定する方法が見つかりません-できますか?
では、方法はありますか?
リソースの数その上で見つけることができますが、私は専門家ではありません。
解決
OK、この変更は有効です-現在、 FREETEXT()
とその暗黙的な< code> OR 。
他のヒント
私が見た限りでは、SQL 2005(nor 2008、afaik)で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のリンクシソーラスにアイテムを追加する方法を説明します。