リモート ファイル共有 (Windows Server 2008 R2 を実行) でテキストを含むファイルを検索しようとしています。これを試してみると、うまくいきます:
SELECT System.FileName
FROM RemoteServer.SystemIndex
WHERE SCOPE='file://RemoteServer/FileShare'
そして多くの結果を得ています。しかし、テキストを検索しようとするとすぐに結果が得られません。
SELECT System.FileName
FROM RemoteServer.SystemIndex
WHERE SCOPE='file://RemoteServer/FileShare'
AND CONTAINS('a')
自分のマシン (Windows 7) で試してみると、問題なく動作します。
SELECT FileName
FROM SystemIndex
WHERE CONTAINS('a')
検索に使用しているC#コードは次のとおりです。
string connectionString = "Provider=Search.CollatorDSO;Extended Properties=\"Application=Windows\"";
using (OleDbConnection myOleDbConnection = new OleDbConnection(connectionString))
{
myOleDbConnection.Open();
using (OleDbCommand myOleDbCommand = new OleDbCommand(sql, myOleDbConnection))
{
using (myDataReader = myOleDbCommand.ExecuteReader())
{
if (!myDataReader.HasRows)
{
System.Console.WriteLine("Query returned 0 rows!");
}
else
{
// Process results here
}
}
}
}
私は次のことを試しました:
- インデックスを再構築する
- インデックスを作成するサーバーに「FileShare」フォルダが追加されていることを確認
- 「ファイルの種類」タブを確認し、正しい拡張子がチェックされていること、およびそれらの拡張子に対して「インデックスのプロパティとファイルの内容」が選択されていることを確認しました
- インデックス サービスを再開しました
- サーバー自体を再起動しました
無駄に。
他の提案はありますか?私はそこに99%いるのでイライラします。この Windows デスクトップ全体の検索は、かなりサポートされていないようです。おそらく、それをビンに入れ、別のものを使用する必要がありますか?