65.9K
CodeProject 正在变化。 阅读更多。
Home

如何使用 Microsoft 索引服务来加速搜索...

starIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIconemptyStarIcon

1.31/5 (5投票s)

2007年3月31日

1分钟阅读

viewsIcon

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 并简单地安装它。

© . All rights reserved.