搜索选项错误中的提取文档数据

extract-document-data in search options erroring

我尝试按照搜索开发人员指南中的示例配置要在搜索结果中提取的记录元素。

<options xmlns="http://marklogic.com/appservices/search">
    <extract-document-data>
        <extract-path xmlns:pdbe="http://schemas.abbvienet.com/people-db/envelope" xmlns:pdbm="http://schemas.abbvienet.com/people-db/model">/pdbe:person-envelope/pdbm:person/pdbm:account</extract-path>
    </extract-document-data>
</options>

使用这些选项,我得到了错误。

[1.0-ml] XDMP-UNBPRFX: (err:XPST0081) Prefix pdbe has no namespace binding

即使我逐字逐句地尝试指南示例中的示例,我也会收到错误(只要我得到回击并且它正在尝试提取,如果没有命中,那么就不会报错了)。

我是不是做错了什么?

更新

如果我首先使用 /config/namespaces REST 端点添加命名空间,然后使用 REST API 进行搜索,那么我将获得提取的值。但是,我无法在查询控制台中使用 search:search 进行测试。如果我删除 config/namespaces,那么我会在查询控制台中看到与直接来自 REST 端点相同的错误。

Syntax Summary 部分中记录的示例有一个拼写错误(我已提醒文档团队):xmlns 属性拼写错误 "xmnls"。这将解释使用该逐字示例时的错误。

按原样粘贴您的示例,它看起来工作正常 (MarkLogic 8.0-5.2)。也许您在发布问题时更正了 "xmnls" 错误?

import module namespace search = "http://marklogic.com/appservices/search"
  at "/MarkLogic/appservices/search/search.xqy";

search:search("hello sample-property-constraint:boo",
  <options xmlns="http://marklogic.com/appservices/search">
    <extract-document-data>
      <extract-path 
          xmlns:pdbe="http://schemas.abbvienet.com/people-db/envelope" 
          xmlns:pdbm="http://schemas.abbvienet.com/people-db/model">
        /pdbe:person-envelope/pdbm:person/pdbm:account
      </extract-path>
    </extract-document-data>
  </options>)