我有一个独特的要求,即自动建议元素名称和 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/