テーブルの 1 つにフルテキスト カタログが設定された SQL 2008 データベースがあり、その目標は、フリーテキスト値に複数のキーワードを含めることができる asp.net c# Web サイトからそのテーブルに対してフリーテキスト検索を実行できるようにすることです。SQL Management Studio を使用して、次のようなクエリを手動で実行できます。
SELECT * FROM KnowledgeFAQ_Answers WHERE FREETEXT ((Title, [Text]), 'application deadlines') Order By Rank() Over (Order By Title)
そして、すべてがうまく機能します。クエリを作成した後、自分の Web サイトでデータ アクセス コードを作成しました。ほとんどの場合は問題なく動作しますが、特定の状況では矛盾が生じます。特定の小さな単語が検索文字列に存在する場合、空のデータリーダーを返すだけのようです。ただし、同じフレーズを SQL Management Studio で直接テストすると、結果が正しく返されます。たとえば、「入学期限」は機能し、リーダーに結果を返しますが、「入学期限があります」は、結果を生成するクエリを手動で実行しても突然何も返しません。私が見ることができる特定の理由で、特定の単語は0の結果を引き起こしますが、SQLエラーも生成しません...空のデータリーダーを返すだけです。sqlcommand オブジェクトは、何らかの方法でこれらを特別に解析しているようです。t は構文を壊しますが、一致は生成しません。sqlcommand オブジェクトを介したフリーテキスト クエリでの複数のキーワードの実際の例、および/またはこれが機能しない理由についての推論を誰かが持っていますか? ... ここで完全に失われました。