如何使用MarkLogicJava API调用路径范围索引查询?
我正在寻找一个关于如何使用MarkLogicJavaAPI进行路径范围索引查询的示例 /doc1.xml如何使用MarkLogicJava API调用路径范围索引查询?,java,marklogic,marklogic-8,Java,Marklogic,Marklogic 8,我正在寻找一个关于如何使用MarkLogicJavaAPI进行路径范围索引查询的示例 /doc1.xml <a> <b> <c>1234</c> <d> <c>abcd</c> </d> </b> </a> 这是使用MarkLogicJavaAPI调用路径范围索引查询的正确方法吗 QueryManager queryMg
<a>
<b>
<c>1234</c>
<d>
<c>abcd</c>
</d>
</b>
</a>
这是使用MarkLogicJavaAPI调用路径范围索引查询的正确方法吗
QueryManager queryMgr = client.newQueryManager();
StructuredQueryBuilder qb = new StructuredQueryBuilder(OPTIONS_NAME);
StructuredQueryDefinition querydef = qb.PathIndex("/a/b/c", "abcd")
SearchHandle results = queryMgr.search(querydef, new SearchHandle());
你很接近。只需将第二行更改为最后一行:
StructuredQueryDefinition querydef =
qb.range(qb.pathIndex("/a/b/c"), "string", Operator.EQ, "abcd");
您还不需要所描述的任何内容中的任何选项,因此您可以删除选项名称,直到您有理由指定搜索选项为止。另外,请确保路径范围索引具有默认排序规则,或者为范围方法调用指定正确的排序规则
QueryManager queryMgr = client.newQueryManager();
StructuredQueryBuilder qb = new StructuredQueryBuilder(OPTIONS_NAME);
StructuredQueryDefinition querydef = qb.PathIndex("/a/b/c", "abcd")
SearchHandle results = queryMgr.search(querydef, new SearchHandle());
StructuredQueryDefinition querydef =
qb.range(qb.pathIndex("/a/b/c"), "string", Operator.EQ, "abcd");