Setup Environment
1. Install Microsoft Windows SDK
2. Install Microsoft Windows Search SDK
How to Add Indexing Location
CSearchManager searchManager = new CSearchManager();
CSearchCatalogManager catalogManager = searchManager.GetCatalog("SystemIndex");
CSearchCrawlScopeManager crawlScopeManager = catalogManager.GetCrawlScopeManager();
crawlScopeManager.AddUserScopeRule(@"file:///D:\My Documents\", 1, 1, 1);
crawlScopeManager.SaveAll();
catalogManager.Reindex();
How to Search Indexed Location
CSearchManager searchManager = new CSearchManager();
CSearchCatalogManager catalogManager = searchManager.GetCatalog("SystemIndex");
CSearchQueryHelper queryHelper = catalogManager.GetQueryHelper();
queryHelper.QueryWhereRestrictions = @"AND scope='file:D:\My Documents\'";
string sql = queryHelper.GenerateSQLFromUserQuery("Hello World");
using (OleDbConnection conneciton = new OleDbConnection(queryHelper.ConnectionString))
{
using (OleDbCommand command = new OleDbCommand(sql, conneciton))
{
conneciton.Open();
using (OleDbDataReader dataReader = command.ExecuteReader())
{
while (dataReader.Read())
{
Console.WriteLine(dataReader[0]);
}
}
}
}
References