Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用MarkLogicJava API调用路径范围索引查询?_Java_Marklogic_Marklogic 8 - Fatal编程技术网

如何使用MarkLogicJava API调用路径范围索引查询?

如何使用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

我正在寻找一个关于如何使用MarkLogicJavaAPI进行路径范围索引查询的示例

/doc1.xml

<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");