marklogic - 自动建议元素/属性名称/Json 属性

标签 marklogic marklogic-8

我有一个独特的要求,即自动建议元素名称和 json 属性名称。

XML 示例:

<?xml  version="1.0" encoding="UTF-8"?>
<ns2:Envelope ns1:version="1.2" xmlns:ns2="http://www.w3.org/2003/05/soap-envelope" xmlns:ns3 = "http://test.com/2016/doc">
<ns2:Body>
    <ns3:docID>D253456</ns3:docID>
<ns2:Body>

我能够通过带有选项的 java-client-api 获得有关值的建议。背景中的范围索引。

String[] results = queryMgr.suggest(sd);

或者我可以通过 xquery 使用一些东西

declare namespace ns3 = "http://test.com/2016/doc";
cts:element-value-match(xs:QName("ns3:docID"),fn:concat("D25","*"))[1 to 10];

但无法找到元素名称建议的方法,如 doc* 返回 docId

我们能否在 marklogic 中获取元素/json 属性名称(如 docID)的自动建议?如果是,如何通过 java-client-api 实现。

最佳答案

如您所知,markLogic“建议”是基于单词词典或值词典(范围索引)。我不知道可以捕获元素或属性名称的单词词典或值词典。我认为您最好的选择是修改您的文档以包含一个元素或属性,该元素或属性包含您要索引/建议的值。

像这样:

<?xml  version="1.0" encoding="UTF-8"?>
<ns2:Envelope ns1:version="1.2" xmlns:ns2="http://www.w3.org/2003/05/soap-envelope" xmlns:ns3 = "http://test.com/2016/doc">
<ns2:Body>
    <ns3:docID>D253456</ns3:docID>
    <ns3:elementName>docId</ns3:elementName>
    <ns3:elementName>elementName</ns3:elementName>
<ns2:Body>

关于marklogic - 自动建议元素/属性名称/Json 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35298273/

相关文章:

Marklogic (Nodejs API) - 搜索与对象数组属性中的 2 个(或更多)条件匹配的文档

xquery - 如何获取文档的作者姓名和最后更新日期?

xml - 如何在xpath marklogic中传递变量中的元素名称?

xpath - Marklogic - 如何处理 XML 中的处理指令

marklogic - 如何将三元组插入到特定的 XML 文档中?

xquery - fn :replace to return one string on iteration

marklogic - 如何查询 MarkLogic 以确定重新索引的成本?

marklogic - 如何授予http ://marklogic. com/xdmp/privileges/get-role权限?

javascript - xQuery 到 JavaScript 需要多个文件

sparql - MarkLogic 中的命名图支持