Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

如何新增检索点 #198

Open
lunvo opened this issue Nov 2, 2018 · 0 comments
Open

如何新增检索点 #198

lunvo opened this issue Nov 2, 2018 · 0 comments

Comments

@lunvo
Copy link

lunvo commented Nov 2, 2018

用户可以在dp2内务里根据需要自定义【书目查询窗】、【实体查询窗】和【订购查询窗】的检索途径。dp2内务所定义的检索途径会被同步应用的dp2 OPAC上。所以如果用户想要修改dp2 OPAC某个库的检索点,则需要内务里面进行配置。

配置检索点的步骤分为: 通过【内核】窗增加keys配置文件检索点--重建检索点--重启服务器--重启dp2内务或dp2 OPAC,新配置生效。

以上步骤要一气呵成的完成。

如果用户有多个库需要配置检索点,保险的做法是一个库操作完后再进行下一个库的操作。不然,在配置了keys检索点到重建检索点之间,编辑对应检索点字段的内容,保存的时候系统会报“检索点偏移”

以下以【实体查询窗】配置为例详细讲解。【订购查询窗】和【书目查询窗】中增加检索点的步骤完全相同,只是keys配置时的细节有所不同。


一、通过keys配置文件增加检索点

检索途径是由各个库的 keys 配置文件所定义的。不同的库可以配置不同的 keys 文件内容,这样,它们之间的检索途径就可以不同。dp2 系统并不要求不同库的检索途径相同。

下面介绍 keys 配置文件的格式和配置方法。

  1. 登录dp2内务,点菜单 【功能】/【系统维护】/【系统管理窗】,进入【系统管理窗】,切换到【内核】标签页,展开需要创建检索点的库,如 中文图书实体。

  2. 选择【cfgs】-【keys】,点右键 选“编辑配置文件”,打开keys配置文件窗口,开始修改keys配置文件。

提示:上图中,一个红框内的内容表示一个检索点基本的配置信息。

这是批次号配置检索点的内容,用户在增加其他检索点的时候可以用作参考:

    <key>
        <xpath>*/batchNo</xpath>  // batchNo在XML文件中的绝对路径*
        <from>batchno</from>
        <table ref="batchno" />  
    </key>
    <table name="batchno" id="3"> 
        <caption lang="zh-CN">批次号</caption>
        <caption lang="en">Batch No</caption>
    </table>

例如,用户需要为 中文实体库 增加“渠道”检索点,可以直接拷贝上述配置信息,进行修改,如下:

    <key>
        <xpath>*/seller</xpath>
        <from>seller</from>
        <table ref="seller" />
    </key>
    <table name="seller" id="14">  
        <caption lang="zh-CN">渠道</caption>
        <caption lang="en">Seller</caption>
    </table>

注:
A.<key>元素定义了从数据记录中抽取检索点(key)的规则。
其下属的<xpath>元素定义了用于抽取检索点的XPATH表达式,*/seller为“渠道”在xml里面的绝对路径(是一级根目录下一级的seller)。

说明:seller在XML文件中的绝对路径
在【 实体查询窗】,先检索出一条“订购渠道”字段有内容的册记录,选中,在右侧固定面板,点 【属性】/【XML】,通过XML文件,我们可以对seller元素进行定位,比如:seller元素在XML文件中绝对路径是:一级root根元素下一级的seller元素。

B.<table>元素定义了当前检索点在检索途径中所显示的名称。下面的caption 元素定义了这个检索点在查询窗检索点列表中左侧的文字;检索点列表中右侧的文字是 table 元素的 type 属性的内容(如果未定义则不显示) 。table元素中的id值不能与现有检索点的id重复。

修改完成后,点 【保存】,关闭keys配置文件窗口。

此时重启dp2内务,在【实体查询窗】,展开 检索途径 可以看到新增的检索点:渠道。

此时,对 渠道 进行检索,仍然不能检索出相关记录,还需要执行 重建检索点 任务。

二、重建检索点

点菜单 【功能】/【系统维护】/【批处理任务窗】,进入【批处理任务窗】,在【任务】名一栏下拉选择“重建检索点”,点击开始。在弹出的对话框中,输入刚才进行keys配置的数据库名,如 “中文图书实体”(如果一次性配置了多个库,这里可以输入多个数据库名,每行一个),点击【确定】按钮,系统提示“任务‘重建检索点’已成功启动 ”,开始执行重建检索点任务。

用户可以点击界面左下角的刷新按钮来观察重建检索点的进度,直到重建完毕。

三、重启dp2Library实例

重启dp2Library实例,然后重启dp2内务或dp2 OPAC,新增的检索点才会兑现.

单机版服务器的重启:关闭之后再打开单机版服务器,或者在单机版服务器上点击菜单【维护】-【重新启动dp2 Library】。
标准版服务器的重启:在服务器所在的电脑上打开dp2 installer安装实用工具,点击【dp2 library】-【配置实例】,在需要重启的实例上右击-【停止实例】,然后再在需要重启的实例上右击-【启动实例】,即可完成单个实例的服务器重启。

另外,标准版服务器的重启还有一个方法,可以用来一次性启动某个服务器电脑上所有的dp2library实例:在服务器所在的电脑上点击windows开始菜单-【管理工具】-【服务】-【dp2 Library Service】上右击选择”重新启动“。即可启动当前服务器电脑上所有的dp2library实例。

四、重启dp2内务。

重新登陆dp2内务,在【实体查询窗】的【检索途径】列表中,可以看到新建的检索点“渠道”,并且可以检索出对应记录。

重新登陆dp2 OPAC也可以看到新增的检索点,并且可以检索对应的记录。

以上重建检索点的方法同样适用于【订购查询窗】,流程都是:先将服务器升级到最新版本-找到对应库的keys配置文件-修改配置文件-重建检索点-重启服务器-配置生效。

五、订购库keys配置文件的形式也是这样成对出现的,各细项对应清单请参看文档。
image

六、书目库检索点的配置基本形式如下:

  <key>
    <xpath nstable="">//marc:record/marc:datafield[@tag='998']/marc:subfield[@code='t']</xpath>
    <from>targetrecpath</from>
    <table ref="targetrecpath" />
  </key>
  <table name="targetrecpath" id="12" type="targetrecpath">
    <caption lang="zh-CN">目标记录路径</caption>
    <caption lang="en">Target Record Path</caption>
  </table>

注意:

  1. from和table里定义的名称不要有空格,并且要全部小写

  2. 如果一个检索点要配置多个字段,xpath元素要包含多个字段,比如

<xpath nstable="">//marc:record/marc:datafield[@tag='700' or @tag='701' or @tag='702' or @tag='710' or @tag='711' or @tag='712']/marc:subfield[@code='a']</xpath>

表示同时从700、701、702、710、711、712的$a取值。

3.如果需要从多个字段不同的子字段取值,一个table可以搭配多个keys元素。也可以xpath里面用|连接不同的字段取值。

搭配多个key元素的情况:

   <key>
        <xpath nstable="">//marc:record/marc:datafield[@tag='606']/marc:subfield[@code='a' or @code='x' or @code='y' or@code='z'] </xpath>
        <from>Thesaurus</from>
        <table ref="Thesaurus" />
    </key>
    <key>
        <xpath nstable="">//marc:record/marc:datafield[@tag='610']/marc:subfield[@code='a']</xpath>
        <from>Thesaurus</from>
        <table ref="Thesaurus" />
    </key>
    <table name="Thesaurus" id="4" type="subject">
        <convert>
            <string style="upper,simplify,split" />
        </convert>
        <convertquery>
            <string style="upper,simplify" />
        </convertquery>
        <caption lang="zh-CN">主题标引</caption>
        <caption lang="en">Thesaurus</caption>
    </table>

xpath里面用|连接不同的字段取值的情况:

   <key>
        <xpath nstable="">//marc:record/marc:datafield[@tag='606']/marc:subfield[@code='a' or @code='x' or @code='y' or@code='z'] | //marc:record/marc:datafield[@tag='610']/marc:subfield[@code='a'']</xpath>
        <from>Thesaurus</from>
        <table ref="Thesaurus" />
    </key>
    <table name="Thesaurus" id="4" type="subject">
        <convert>
            <string style="upper,simplify,split" />
        </convert>
        <convertquery>
            <string style="upper,simplify" />
        </convertquery>
        <caption lang="zh-CN">主题标引</caption>
        <caption lang="en">Thesaurus</caption>
    </table>

以上两种表达都可以表示同时从606$a、$x,$y,$z,以及610$a取值作为主题标引的内容

@lunvo lunvo changed the title 内务-实体查询-窗口 如何在实体查询窗新增检索点 Nov 2, 2018
@renyh renyh removed the 文稿 label May 23, 2019
@Hopeshine Hopeshine changed the title 如何在实体查询窗新增检索点 如何在新增检索点 Mar 3, 2020
@Hopeshine Hopeshine changed the title 如何在新增检索点 如何新增检索点 Mar 3, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants