我正在try 使用earch.suggest根据我数据库中的多范围索引向我返回一些建议.到目前为止,我已经try 了单个字符串元素范围索引,但我想我找不出正确的语法.
const search = require('/MarkLogic/appservices/search/search');
const options =
fn.head(xdmp.unquote('<search:options xmlns:search="http://marklogic.com/appservices/search">' +
'<default-suggestion-source>' +
'<range collation="http://marklogic.com/collation//S1" type="xs:string">' +
'<json-property>title</json-property>' +
'</range>' +
'</default-suggestion-source>' +
'</search:options>')).root;
search.suggest("Taiw", options)
I've changed a bit a code snippet from here: https://docs.marklogic.com/10.0/search.suggest but it does not produce any results:
I have element range index in my database with data
我还try 使用JSON:
const search = require('/MarkLogic/appservices/search/search');
const options = {
"search:options":{
"default-suggestion-source":{
"range":{
"range":{
"type":"xs:string",
"collation":"http://marklogic.com/collation//S1",
"element":{
"name":"title"
}
}
}
}
}}
search.suggest("Taiw", options)
但我最后得到的是:
[JavaScript] XDMP-AS:(err:XPTY0004)$options as elements(search:options)?--无效强制: 目标 node {"搜索:选项":目标 node {"默认建议-源":目标 node {...} as元素(搜索:选项)
我做错了什么?我的数据库需要设置什么设置吗?我使用的是JSON数据