基于SPS平台信息系统文档属性存储及搜索方法
2005-06-20 14:21
369 查看
对于基本于SPS平台的信息系统,需要处理大量的文档对象,文档也存在许多属性信息,这些属性信息将决定文档的搜索效率及文档的描述程度,如何有效地对文档的属性进行存储,将是处理好这个功能的基础。文档的属性可以存储在DB中也可以通过扩展存储在SharePoint Server中的文档属性来存储。
1. DB存储方式
对于大部分基于SPS平台的信息,要实现对文档操作的灵活性、可扩展性,我们都需要另外开发文档管理的功能,这就要求我们把文档的所有属性信息都必须保存在DB中。
2. 通过SharePoint Server扩展文档的属性
在基于SPS平台的信息系统,文档搜索是该平台上的主要功能之一,SPS文档搜索可以对文档内容、文档属性进行全文检索。要使搜索功能有强的灵活性,同样需要文档属性的支持,有了扩展的文档属性我们可以通过属性信息进行文档的属性过滤及搜索。
利用SPS平台的文档扩展属性来提高搜索灵活性,需要两方面的工作。
2.1 SPS中的配置
扩展属性的生成
• SPS中手工添加:打开SPS Portal的首页>>网站>>自定义列表>>栏>>添加新栏
• 通过代码实现(调用SPS的对象模型),参考案例如下:
//----只针对WSS站点的shared document的属性--------------------------
SPWeb web=new SPSite(“localhost”).OpenWeb(”sites/temp”);
web.AllowUnsafeUpdates = true;
lists = web.Lists;
myDocLib=(SPDocumentLibrary)web.Lists["共享文档"];
myDocLib.Fields.Add("DocNumber",SPFieldType.Text,false);
myDocLib.Fields.Add("StatusCode",SPFieldType.Text,false);
myDocLib.Fields.Add("Version",SPFieldType.Text,false);
myDocLib.Fields.Add("Keyword",SPFieldType.Text,false);
myDocLib.Fields.Add("Title",SPFieldType.Text,false);
myDocLib.Fields.Add("KMID",SPFieldType.Text,false);
myDocLib.Fields.Add("OldUrl",SPFieldType.Text,false);
URLmyDocLib.Fields.Add("KnowType",SPFieldType.Text,false);
//--------------------------------------------------------------
扩展属性的搜索配置
SPS中手工配置:
打开SPS Portal的网站属性>>搜索设置和索引内容(从已爬网的文档管理属性)>>
urn:schemas-microsoft-com:office:office>>选择你自定义的属性名称(是“ows_“开头)>>搜索选项(选择[在“高级搜索”选项中包含该属性][在内容索引中包含该属性])
2.2 实现全文搜索功能
通过代码实现(调用SPS的对象模型),参考案例如下:
PortalContext pcx=null;
string sSearchAppName = "";
QueryProvider qp =null;
try
qp.Execute(SQL);
}
catch(Exception ex)
finally
qp=null;
pcx=null;
}
1. DB存储方式
对于大部分基于SPS平台的信息,要实现对文档操作的灵活性、可扩展性,我们都需要另外开发文档管理的功能,这就要求我们把文档的所有属性信息都必须保存在DB中。
2. 通过SharePoint Server扩展文档的属性
在基于SPS平台的信息系统,文档搜索是该平台上的主要功能之一,SPS文档搜索可以对文档内容、文档属性进行全文检索。要使搜索功能有强的灵活性,同样需要文档属性的支持,有了扩展的文档属性我们可以通过属性信息进行文档的属性过滤及搜索。
利用SPS平台的文档扩展属性来提高搜索灵活性,需要两方面的工作。
2.1 SPS中的配置
扩展属性的生成
• SPS中手工添加:打开SPS Portal的首页>>网站>>自定义列表>>栏>>添加新栏
• 通过代码实现(调用SPS的对象模型),参考案例如下:
//----只针对WSS站点的shared document的属性--------------------------
SPWeb web=new SPSite(“localhost”).OpenWeb(”sites/temp”);
web.AllowUnsafeUpdates = true;
lists = web.Lists;
myDocLib=(SPDocumentLibrary)web.Lists["共享文档"];
myDocLib.Fields.Add("DocNumber",SPFieldType.Text,false);
myDocLib.Fields.Add("StatusCode",SPFieldType.Text,false);
myDocLib.Fields.Add("Version",SPFieldType.Text,false);
myDocLib.Fields.Add("Keyword",SPFieldType.Text,false);
myDocLib.Fields.Add("Title",SPFieldType.Text,false);
myDocLib.Fields.Add("KMID",SPFieldType.Text,false);
myDocLib.Fields.Add("OldUrl",SPFieldType.Text,false);
URLmyDocLib.Fields.Add("KnowType",SPFieldType.Text,false);
//--------------------------------------------------------------
扩展属性的搜索配置
SPS中手工配置:
打开SPS Portal的网站属性>>搜索设置和索引内容(从已爬网的文档管理属性)>>
urn:schemas-microsoft-com:office:office>>选择你自定义的属性名称(是“ows_“开头)>>搜索选项(选择[在“高级搜索”选项中包含该属性][在内容索引中包含该属性])
2.2 实现全文搜索功能
通过代码实现(调用SPS的对象模型),参考案例如下:
PortalContext pcx=null;
string sSearchAppName = "";
QueryProvider qp =null;
try
qp.Execute(SQL);
}
catch(Exception ex)
finally
qp=null;
pcx=null;
}
相关文章推荐
- SPS平台文档属性存储及搜索方法
- 基于继承类的属性模版中无法绑定的原因和解决方法
- 近日探得用C++将二进制数据存储到XML文件的方法,由于在研究时,未得到网上其他同仁的帮助(网上搜索了半天没有相关资料,只有.NET的),在这里不敢独享,给别的同仁在搜索时能够搜索到相关资料,也算是绵薄之力! )
- python开发之基于thread线程搜索本地文件的方法
- 存储过程返回结果转化为对象属性值的方法-bboss persistent o/r mapping机制应用
- 字符串匹配-基于子串的搜索方法
- 单点登录三个方法及原理:共享Session、基于OpenId的单点登录、基于Cookie的OpenId存储方案
- 基于字符串比对的文档复制检测方法
- 这是一个关于XML文档的操作管理器XMLHelper类,类中包括XML文档的创建,文档节点和属性的读取,添加,修改,删除的方法功能的实现
- 【技术文档】《算法设计与分析导论》R.C.T.Lee等·第6章 剪枝搜索方法
- 近日探得用C++将二进制数据存储到XML文件的方法,因在研究时,未得到网上其他同仁的帮助(网上搜索了半天没有相关资料,只有DOTNET的),在这里不敢独享,给别的同仁在搜索时能够搜索到相关资料,也算是绵薄之力! )
- 基于Visual C++2010 与office2010开发办公自动化(16)-如何设置新建Word文档属性
- JS实现本地存储信息的方法(基于localStorage与userData)
- 【转】XMLHelper类 源码(XML文档帮助类,静态方法,实现对XML文档的创建,及节点和属性的增、删、改、查)
- 处理及遍历XML文档DOM元素属性及方法整理
- PHP基于文件存储实现缓存的方法
- Autofac官方文档(五)【注册组件之属性和方法注入】
- 朴素贝叶斯方法的应用实例----基于newsgroup文档集的贝叶斯算法实现
- 基于搜索测试数据生成的多目标方法 笔记
- lucene全文搜索之三:生成索引字段,创建索引文档(给索引字段加权)基于lucene5.5.3