我正在寻找有关如何使用 MarkLogic Java API 执行路径范围索引查询的示例。
/doc1.xml
<a>
<b>
<c>1234</c>
<d>
<c>abcd</c>
</d>
</b>
</a>
/doc2.xml
<a>
<b>
<c>abcd</c>
<d>
<c>abcd</c>
</d>
</b>
</a>
创建的路径范围索引具有此路径表达式,但没有路径命名空间:
/a/b/c
这是使用 MarkLogic Java API 调用路径范围索引查询的正确方法吗?
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");
您还不需要所描述的任何选项,因此您可以删除 OPTIONS_NAME,直到您有理由指定搜索选项。另外,请确保您的路径范围索引具有默认排序规则,或者为您的范围方法调用指定正确的排序规则。
关于java - 如何使用 MarkLogic Java API 调用路径范围索引查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39734137/