设置 MarkLogic /suggest 选项(REST API)
Setting up MarkLogic /suggest options (REST API)
MarkLogic 的新手,我在使用 MarkLogic REST 的 /suggest 端点时遇到了一些问题 API。
我正在尝试根据测试数据库中所有文档的 'name' 属性生成建议。
文档如下所示:
应用程序原型(3 个文档)| /gs/cobra.json
{
"name": "cobra",
"kind": "mammal",
"desc": "The cobra is a venomous, hooded snake of the family Elapidae."
}
调用 http://host:port/v1/suggest?partial-q=c,总是返回一个空集,我怀疑这是我的搜索问题 options/configuration。
回复:
{
"suggestions": []
}
使用以下建议-options.xml:
<options xmlns="http://marklogic.com/appservices/search">
<default-suggestion-source>
<range type="xs:string">
<element ns="" name="name"/>
<attribute ns="" name="name"/>
</range>
</default-suggestion-source>
</options>
以及以下属性范围索引配置:
Attribute Range Index
不确定我是否误解了此处 namespaces/range 索引的使用。
谁能说明这里可能出了什么问题?
编辑:将索引替换为元素范围索引,如下所示:
Element Range Index
并将默认建议来源更新为:
<options xmlns="http://marklogic.com/appservices/search">
<default-suggestion-source>
<range type="xs:string">
<element ns="http://marklogic.com/xdmp/dls" name="name"/>
<attribute ns="http://marklogic.com/xdmp/dls" name="name"/>
</range>
</default-suggestion-source>
</options>
仍然没有返回结果。
您的 (JSON) 个文档不包含 name
个属性,但包含 name
个属性。这些由元素范围索引捕获。或者,您也可以在 name
上使用路径范围索引。替换索引,并相应地调整您的默认建议源。
确保元素范围索引使用空命名空间 uri。 JSON 属性从不在命名空间中(这与没有命名空间的元素的行为相匹配)。
还要确保从建议源中删除 <attribute ..>
,否则它仍会查找属性范围索引。
HTH!
MarkLogic 的新手,我在使用 MarkLogic REST 的 /suggest 端点时遇到了一些问题 API。
我正在尝试根据测试数据库中所有文档的 'name' 属性生成建议。
文档如下所示: 应用程序原型(3 个文档)| /gs/cobra.json
{
"name": "cobra",
"kind": "mammal",
"desc": "The cobra is a venomous, hooded snake of the family Elapidae."
}
调用 http://host:port/v1/suggest?partial-q=c,总是返回一个空集,我怀疑这是我的搜索问题 options/configuration。
回复:
{
"suggestions": []
}
使用以下建议-options.xml:
<options xmlns="http://marklogic.com/appservices/search">
<default-suggestion-source>
<range type="xs:string">
<element ns="" name="name"/>
<attribute ns="" name="name"/>
</range>
</default-suggestion-source>
</options>
以及以下属性范围索引配置: Attribute Range Index
不确定我是否误解了此处 namespaces/range 索引的使用。
谁能说明这里可能出了什么问题?
编辑:将索引替换为元素范围索引,如下所示: Element Range Index
并将默认建议来源更新为:
<options xmlns="http://marklogic.com/appservices/search">
<default-suggestion-source>
<range type="xs:string">
<element ns="http://marklogic.com/xdmp/dls" name="name"/>
<attribute ns="http://marklogic.com/xdmp/dls" name="name"/>
</range>
</default-suggestion-source>
</options>
仍然没有返回结果。
您的 (JSON) 个文档不包含 name
个属性,但包含 name
个属性。这些由元素范围索引捕获。或者,您也可以在 name
上使用路径范围索引。替换索引,并相应地调整您的默认建议源。
确保元素范围索引使用空命名空间 uri。 JSON 属性从不在命名空间中(这与没有命名空间的元素的行为相匹配)。
还要确保从建议源中删除 <attribute ..>
,否则它仍会查找属性范围索引。
HTH!