Visual Studio .NET 2002Visual Studio .NET 2003WebForms.NET 1.1Visual Studio 2005.NET 2.0中级开发Visual StudioWindows.NETASP.NET
如何使用 Microsoft 索引服务来加速搜索...






1.31/5 (5投票s)
2007年3月31日
1分钟阅读

26892
Microsoft 索引服务与我们的应用程序接口...
引言
Microsoft 索引服务就像为文档索引创建目录。当我们使用索引服务搜索时,它将使用存储在目录中的这些索引,并以更快的速度进行搜索。
因此,我将尝试解释如何使用此 Microsoft 索引服务。
使用代码
首先,我们必须配置我们的 Microsoft 索引服务才能使用它。
从控制面板的“添加/删除程序”实用工具中安装 Microsoft 索引服务...
选择“添加/删除 Windows 组件”——>并选择 Microsoft 索引服务并安装它。
现在在“开始”——>“运行”中输入 mmc,
您将找到一个名为“Microsoft 管理控制台”的窗口。
现在按照以下步骤操作:
单击“文件”——>“添加/删除管理单元”——>“添加”——>选择“索引服务”,然后——>“确定”——>“完成”。
您将看到如下窗口:
现在您需要创建一个目录,该目录将跟踪您想要搜索的目录。
要创建目录,请单击“本地计算机上的索引服务”,然后
“操作”——>“新建”——>“目录”。
输入目录的名称以及要保存目录文件的路径。
您新创建的目录将出现在树中,
现在展开该节点,您将看到“目录”,右键单击它并选择“新建”——>“目录”。
输入包含您要执行搜索操作的文档的目录的路径。
现在停止然后启动索引服务,就完成了,您的索引服务已准备好与您的应用程序一起使用。
// first create the OleDb connection...
System.Data.OleDb.OleDbConnection odbSearch;
System.Data.OleDb.OleDbCommand cmdSearch;
//Then prepare the Connection String to connect with the
//Indexing Server database.
odbSearch = new System.Data.OleDb.OleDbConnection
("Provider=\"MSIDXS.1\";Data Source=MyDocs;Integrated Security .=");
//Instead of "MyDocs" you have to wrtie catalog name which you have created,
//from above process.
cmdSearch = new System.Data.OleDb.OleDbCommand();
cmdSearch.Connection = odbSearch;
//Now Prepare the Command Text.
cmdSearch.CommandText =
"select doctitle, filename, vpath, rank, characterization from scope()
where FREETEXT(Contents, '" + strSearch + "') order by rank desc ";
//Now Open the Connection.
odbSearch.Open();
//Now Fire the command.
OleDbDataAdapter adpt = new OleDbDataAdapter(cmdSearch);
cmdSearch.ExecuteNonQuery();
DataSet ds = new DataSet();
DataTable dt = new DataTable();
adpt.Fill(ds, "SearchResult");
dt = ds.Tables[0];
//Thats it, DataTable "dt" will hold your Search Result you can use it now.
历史
此过程仅搜索 .doc、.txt、.xls 文件,
要使其适用于 .pdf,您需要下载 Adobe iFilter 6.0 并简单地安装它。