java - 如何使用 MarkLogic Java API 调用路径范围索引查询?

标签 java marklogic marklogic-8

我正在寻找有关如何使用 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/

相关文章:

java - 从原始 avro 模式创建对象

java - 当 ListView 已经到达顶部时,如何检测用户是否向上滚动

xml - MarkLogic:使用 xquery 获取元素的 xpath

triggers - 检索事务中预提交触发器删除的文档

marklogic - 检索 MarkLogic 9 中的所有文档计数有所不同

java - 如果每个月有30天,计算年、月、日的差值

java - 从 Android 中的 fragment 管理工具栏中的后退按钮

sparql - 如何改进大型 SPARQL 数据集的索引?

javascript - 如何在 JavaScript + Marklogic 中声明 xml 命名空间

javascript - 分割文档并插入为多个的转换