如何在Marklogic 8中安装Entity Enrichment库?

时间:2016-03-29 07:56:27

标签: xquery marklogic

我正在尝试使用Entity Enrichment管道进行文档转换。我在查询控制台中为安装了内容处理的数据库提供了以下XQuery:

let $myxml := <node>George Washington never visited Norway. If he had a Social Security number, it might be 000-00-0001.
              </node> 
return cts:entity-highlight($myxml, 
          element { fn:replace($cts:entity-type, ":", "-") } 
                  { $cts:text })

...导致以下错误:

"Entity enrichment libraries not installed for host"

如何解决此问题?

2 个答案:

答案 0 :(得分:2)

cts:entity-enrich()和cts:entity-highlight()不再可用,因此这段代码在MarkLogic 8中不起作用。

有许多方法可以在MarkLogic中实现文档的实体丰富,例如

  1. 安装第三方实体提取工具,例如Smartlogic或PoolParty或Temis
  2. 如果您知道如何根据查询定义实体,请为每个实体类型编写反向查询,并使用cts:highlight()标记这些实体。
  3. 有关更多信息,请在marklogic dot com

    处的stephen dot buxton上留言

答案 1 :(得分:1)

对于MarkLogic 6,您可以通过在8001转到MarkLogic控制台,选择“配置”,然后选择“数据库”,为数据库添加实体丰富库。在树中的数据库下选择数据库和内容处理。选择“安装”以安装内容处理库。

对于MarkLogic 8,不再支持cts:entity-highlight。可以创建Entity Enrichment Pipelinescts:highlight可用于突出显示,例如:

cts:highlight($myxml, "Norway", <b>{ fn:replace($cts:text, "-", ":") }</b>)

...其中第二个参数可以是查询,第三个参数可以包含任何标记。

查看MarkLogic Search Developer's Guide

可能也很有用