Linux中国 Linux中国门户站!
设为主页 设为主页
收藏本站 收藏本站
 
当前位置 :首页 ->网络应用 ->邮件服务器 ->Exchange Server ->正文

Exchange全文检索概述

来源:Linuxdby.com 作者:Webmaster 时间:2007-05-28 点击: [收藏] [投稿]

// get data from stream
if (oStream != null)
{
try
{
xmldoc = new XmlDocument();
if (xmldoc != null)
{
xmldoc.Load(oStream);
}
}
catch(System.Exception e)
{
Trace.WriteLine("SendSearchRequest: " + e.Message);
}
oStream.Close();
oStream = null;
}
}
oResponse = null;
}
return xmldoc;
}
传入参数分别为,需要查询的根路径(可以认为是表名,这里为HTTP URL)和查询语句(格式见上一节),返回的结果为包含查询结果的XMLDocument实例。
3-3-2、ADO。
Exchange提供了两种Provider,ExOLEDB和MSDAIPP,可供ADO调用,但是只有MSDAIPP这个Provider支持全文检索,而且当在Exchange安装的主机上采用MSDAIPP进行全文检索时,会产生一些不可知的错误,比如挂起之类,所以建议采用WebDAV。
ADO的示例如下:
private ADODB.RecordsetClass GetQueryResult(System.String sUrl,System.String sQuery)
{
ADODB.RecordsetClass rsResult = null;
ADODB.ConnectionClass cnnExchange = null;
ADODB.CommandClass cmdQuery = null;
System.Object objAffectedRecords = null,objParams = null;
if (sUrl == null || sUrl == String.Empty)
return null;
if (sQuery == null || sQuery == String.Empty)
return null;
try
{
cnnExchange = new ConnectionClass();
if (cnnExchange == null)
return null;
cnnExchange.Provider = "provider=msdaipp.dso";
cnnExchange.Open(sUrl,String.Empty,String.Empty,0);
}
catch (System.Exception e)
{
Trace.WriteLine("GetQueryResult: Create connection failed! " + e.Message);
cnnExchange = null;
return null;
}
cmdQuery = new CommandClass();
if (cmdQuery != null)
{
cmdQuery.ActiveConnection = cnnExchange;
cmdQuery.CommandType = CommandTypeEnum.adCmdText;
cmdQuery.CommandText = sQuery;
try
{
rsResult = (ADODB.RecordsetClass) cmdQuery.Execute(out objAffectedRecords,ref objParams,0);
}
catch (System.Exception e)
{
Trace.WriteLine("GetQueryResult: Query data failed! " + e.Message);
}
cmdQuery = null;
}
cnnExchange = null;
return rsResult;
}
传入参数分别为,需要查询的根路径(可以认为是表名)和查询语句,返回的结果为包含查询结果的Recordset实例。需要强调的是MSADIPP的Provider不支持在打开连接时指定访问用户名和口令。
以上就是在Exchange下全文检索的简要介绍。有关IFilter和存储引擎开发的要点,等有机会再进一步阐述。
参考文档
A、SQL Server体系结构(Full-Text Support)(http://msdn.microsoft.com/library/en-us/architec/8_ar_sa2_0ehx.asp
B、Using Custom Filter With Index Service(http://msdn.microsoft.com/library/en-us/indexsrv/html/ixufilt_912d.asp
C、Exchagne Store SQL(http://msdn.microsoft.com/library/en-us/wss/wss/_exch2k_sql_web_storage_system_sql.asp
,

 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<



上一篇:Microsoft Exchange 2000 群集   下一篇:如何删除和重新安装IIS和Exchange

文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论
更多相关文章
Power by linux-cn.com 粤ICP备05006655号