gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 23:05:21 25 4
gpt4 key购买 nike

我最近从 MarkLogic-8 升级到 MarkLogic-9,并且我在 MarkLogic-8 中有以下一组文档,

Collection - System, User
Document URI - /user.xml

Collection - System, Role
Document URI - /role.xml

Collection - System, Admin
Document URI - 1. /systemadmin.xml
2. /accountadmin.xml

以下是我用来从集合中检索所有文档的示例 java 代码片段

String[] collections = {"System", "Admin"};
QueryManager queryMgr = client.newQueryManager();
SearchHandle resultsHandle = new SearchHandle();

StringQueryDefinition query = queryMgr.newStringDefinition();
query.setCollections(collections);
queryMgr.setPageLength(Long.parseLong(UIParam.PAGINATION_PAGE_LENGTH));
queryMgr.search(query, resultsHandle);

当我在 MarkLogic-8 上执行上述 java 代码片段时,我得到了 /systemadmin.xml 和 accountadmin.xml 结果,这是正确的结果,

但是现在当我针对 MarkLogic-9 执行上述代码时,我得到了所有文档 /user.xml、/role.xml、/systemadmin.xml、/accountadmin.xml 这是错误的结果。

<dependency>
<groupId>com.marklogic</groupId>
<artifactId>marklogic-client-api</artifactId>
<version>4.1.0</version>
</dependency>

MarkLogic-9 的 Maven 依赖项

我很困惑为什么 MarkLogic-8 和 MarkLogic-9 结果之间存在差异。

请帮我解决这个问题。

最佳答案

MarkLogic 9 修复了一个错误,该错误将集合列表的语义从 AND 相关更改为 OR 相关:

http://docs.marklogic.com/guide/relnotes/chap4#id_76507

要在 Java API 中获取与 AND 相关的语义,您可以使用 StructuredQueryBuilder 在 CollectionQuery 数组上指定 AndQuery。用类似于以下草图的内容替换现有查询应该可行:

StructuredQueryBuilder qb = StructuredQueryBuilder();
StructuredQueryDefinition query = qb.and(qb.collection("System"), qb.collection("Admin"));
queryMgr.setPageLength(Long.parseLong(UIParam.PAGINATION_PAGE_LENGTH));
queryMgr.search(query, resultsHandle);

有关 collection() 查询生成器的更多信息,请参阅:

http://docs.marklogic.com/javadoc/client/com/marklogic/client/query/StructuredQueryBuilder.html#containerQuery-com.marklogic.client.query.StructuredQueryBuilder.ContainerIndex-com.marklogic.client.query.StructuredQueryDefinition-

希望有帮助,

关于marklogic - 检索 MarkLogic 9 中的所有文档计数有所不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52215927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com