私はSQL Server 2008 R2の開発者用エディションを実行しています。全文検索クエリが機能しない
私は次のように走ってきました:
exec sp_fulltext_database 'enable'
私は、ファイルタイプのカラムとVARBINARY(MAX)のデータ型を持つ含むFileContent列を持つテーブルを作成しました。次に、テーブルを右クリックして、主キー、fileType列、およびFileContent列を使用してフルテキストカタログを定義しました。私は、そのファイルがSQLサーバーにアップロードされ
// <summary>
/// Read the file into a byte array for full text search
/// </summary>
/// <param name="inputStream"></param>
/// <returns></returns>
private byte[] GetFile(Stream inputStream)
{
BinaryReader br = new BinaryReader(inputStream);
byte[] file = br.ReadBytes((int)inputStream.Length);
br.Close();
inputStream.Close();
return file;
}
(C#で、このヘルパーメソッドを使用して)、ドキュメントをアップロードし、私は含むFileContent列内のバイナリデータを見ることができます。
私は今、フルテキストカタログを照会しようとしています:
SELECT * FROM Entities.Documents
WHERE CONTAINS(FileContent, 'tablesorting')
SELECT * FROM Entities.Documents
WHERE CONTAINS(FileContent, 'Tablesorting')
SELECT * FROM Entities.Documents
WHERE FREETEXT(FileContent, 'tablesorting')
SELECT * FROM Entities.Documents
WHERE FREETEXT(FileContent, 'Tablesorting')
これらのいずれもが、すべてのデータを返さない、私がアップロードされたドキュメント(エクセルスプレッドシートバージョン2010)ワードtablesortingが含まれていても。
アドバイスはありますか?おかげ
UPDATE
それはSQL Serverのボックスがdocxファイルで全文検索を使用することができないことが表示されます、XLSXなど
これは、Officeは、2007年にこの形式に切り替えて私が使用している検討信じられないようですSQL Server 2008 R2および新しいドキュメントタイプは登録されていません。
Microsoftは最高です!
寄稿いただきありがとうございます。
どのようにファイルを書きますか? – Hammerstein