Windows搜索 - c#中的全文搜索

Iva*_*čin 18 .net c# full-text-search windows-search

我正在寻找一个使用Windows搜索获得全文搜索结果的代码(默认情况下应该在Vista,7和8中可用).

我在这里找到了一些问题,并在msdn上发现了一些文本,但是它们都没有一些确切的代码可行.我尝试过使用Windows API Code Pack(因为它被称为Windows搜索的一个接口),但它只返回文件名的结果,而不是全文.

Iva*_*čin 29

以下是可行的代码 - 例如,我在桌面文件夹中搜索"dummy"一词:

string connectionString = "Provider=Search.CollatorDSO;Extended Properties=\"Application=Windows\"";
OleDbConnection connection = new OleDbConnection(connectionString);

string query = @"SELECT System.ItemName FROM SystemIndex " +
   @"WHERE scope ='file:" + System.Environment.GetFolderPath(Environment.SpecialFolder.Desktop) + "' and FREETEXT('dummy')";
OleDbCommand command = new OleDbCommand(query, connection);
connection.Open();

List<string> result = new List<string>();

OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
    result.Add(reader.GetString(0));
}

connection.Close();
Run Code Online (Sandbox Code Playgroud)