質問

私は、次のユーザ入力を与えMSSQLのフルテキストエンジンで検索を実行したいと思います: "ハリウッドの広場"

私は結果が彼らにハリウッドや広場[s]の両方を持っていると思います。

私は動的にこのようなSQL文を生成するために、Webサーバー上のメソッド(C#の、ASP.NET)を作成することができます:

SELECT TITLE
FROM MOVIES
WHERE CONTAINS(TITLE,'"hollywood*"')
AND CONTAINS(TITLE, '"square*"')

十分に簡単。しかし、私はパラメータを追加するための追加の速度の利益と安全保障のためのストアドプロシージャでこれをたいと思います。

私は自分のケーキを持って、あまりにもそれを食べることができますか?

役に立ちましたか?

解決

私は上記に同意した、に見て、節

SELECT TITLE
FROM MOVIES
WHERE CONTAINS(TITLE,'"hollywood*" AND "square*"')

しかし、あなたは変数を使用することができ、入力文を分割する必要はありません。

SELECT TITLE
FROM MOVIES
WHERE CONTAINS(TITLE,@parameter)

の方法により、 (含まれている)正確な用語を検索 フレーズ(フリーテキスト)

のいずれかの用語を検索

他のヒント

私が持っていた最後の時間は、これを行うには(MSSQL Server 2005に)私は(Lucene.Netは、今、私は信じて存在するが、Javaバージョン)のLuceneの上で全体の検索機能を移動することになりました。私は、フルテキスト検索の高い期待を持っていたが、この特定の問題はそんなに私はあきらめた私を悩ませています。

あなたは、文字列のAND論理演算子を使用してみましたか?私は単語の間に私のSPROCとかに「と」生の文字列を渡します。

http://msdn.microsoft.com/en-us/library /ms187787.aspxする

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