Exchange全文检索概述// 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 更多相关文章
|
推荐文章
精彩文章
|