3

我对自动建议元素名称和 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* return docId 这样的元素名称建议的方法

我们可以在 marklogic 中获得像 docID 这样的 element/json 属性名称的自动建议吗?如果是,如何通过 java-client-api 做到这一点。

4

1 回答 1

4

如您所知,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>
于 2016-02-10T19:52:41.817 回答