-
Notifications
You must be signed in to change notification settings - Fork 54
dp2API之SearchBiblio
LibraryServerResult SearchBiblio(
string strBiblioDbNames,
string strQueryWord,
int nPerMax,
string strFromStyle,
string strMatchStyle,
string strLang,
string strResultSetName,
string strSearchStyle,
string strOutputStyle,
string strLocationFilter,//todo加说明
out string strQueryXml);
用途:检索书目库。
参数表:
类型 参数名 说明
string strBiblioDbNames 书目库名列表
string strQueryWord 检索词
int nPerMax 最大命中数。-1表示不限制
string strFromStyle 检索途径角色。可以是多个角色值的列举
string strMatchStyle 匹配方式
string strLang 语言代码
string strResultSetName 结果集名
string strSearchStyle 检索方式。如果包含子串”desc”表示命中结果按照降序排列;包含子串”asc”表示按照升序排列。缺省为升序排列。
string strOutputStyle 输出方式
out string strQueryXml 返回dp2Library所创建的检索式XML字符串
返回值:
成员 返回值 说明
LibraryServerResult.Value
-1 错误
0 没有命中
>=1 命中。返回值为命中的记录条数
LibraryServerResult.ErrorInfo 出错信息
权限:需要searchbiblio权限。读者身份登录不允许使用本API。
strBiblioDbNames参数的值可以为空、或者“<全部>”、或者“”,均表示针对当前存在的全部书目库进行检索。也可以由若干书目库名连接以逗号,表示只针对这些特定的书目库进行检索。dp2Library在执行时会验证此参数中提供的书目库名,如果不是已经定义的书目库名会返回出错。
strBiblioDbNames参数的值还可以为“<全部图书>”、或者“”,表示针对当前存在的全部图书(而非期刊)书目库进行检索。还可以为“<全部期刊>”、或者“”,表示针对当前存在的全部期刊(而非图书)书目库进行检索。
strFromStyle参数指定了检索途径角色。书目库具体可以使用哪些检索途径角色,可以参考dp2Library数据目录下的templates/biblio_*/keys文件。
当针对检索途径角色“recid”(对应于检索途径“__id”)进行检索时,可以在检索词中使用符号“-”,构成范围检索请求。例如,检索词为“1-200”,表示希望检索记录ID从1到200范围的书目记录。
当针对检索途径角色“opertime”(对应于检索途径“操作时间”)进行检索时,可以在检索词中使用符号“”,构成范围检索请求。例如,检索词为“2012-04-01 00:00:00Z2012-04-30 00:00:00Z”,表示希望检索失效日期从2012/4/1到2012/4/30范围的读者记录。
注:“操作时间”检索途径目前是由utime时间字符串构造和检索的。由于通常时间字符串中,单个时间字符串中本身可能包含横杠符号“-”(例如“1990-8-8”),所以倾向于使用“~”来作示范围连接符号。
strMatchStyle参数指定了检索词在检索中的匹配方式。为left/middle/right/exact之一,分别表示前方一致/中间一致/后方一致/精确一致。如果检索词为空,匹配方式为”exact”,表示希望检索相关检索途径中的空值,也就是不具备这个检索点的记录。如果要以检索词为空检索出数据库中的全部具有相关检索点的记录,则需要用”left”匹配方式(最多能命中的结果数量受nPerMax参数的限制)。
strLang参数指定了当前语言。
strResultSetName参数指定了结果集名。此参数值可以为空,相当于”default”。如果希望某一次检索产生的结果集内容不要被后继的检索操作冲掉,可以为每次检索使用不同的结果集名。 结果集名的名字空间范围是一个通讯通道以内。不同的通讯通道之间即便是相同的结果集名也对应着完全不同的结果集对象。在通道存活期间,只要没有后继的检索操作冲掉一个结果集原先的内容,那这个结果集原先的内容就会一直存在。
strSearchStyle参数指定了检索方式。如果值中包含”desc”子串,表示命中结果按照降序排列;如果包含”asc”子串,表示按照升序排列。缺省为升序排列。
strOutputStyle参数指定了检索命中结果输出到结果集中的方式。如为”keycount”,表示返回命中的检索点和命中数,而不返回具体命中的记录路径;如为”keyid”,则表示返回命中的记录路径和命中的检索点。缺省为”keyid”;如为空,则表示返回命中记录路径。后两种情况下,在利用获取结果集信息的API获取结果集内的元素信息的时候,可以有选择地获得记录的浏览列和记录本身(XML格式数据)。
strQueryXml参数返回操作中dp2Library实际发送给dp2Kernel的检索式XML字符串。可以用于调试目的,观察检索的具体过程。
本API执行后,只返回命中的结果数量,而检索命中的记录结果本身被存储在dp2Library端(实际上是在dp2Kernel)的结果集之中了,需要前端调用GetSearchResult() API才能获取结果集中的信息。
继续卖力的生长吧 / 离参天还很远呢 / 继续飞快的发芽吧 / 要遮天蔽日还要许久呢