Marklogic结构化查询定义

时间:2017-12-27 05:31:42

标签: marklogic marklogic-8

我使用结构化查询从数据库中获取100k消息,如下所示:

sqb.and(
          sqb.word(sqb.jsonProperty(status.name), toBeReported.name),
          sqb.word(sqb.jsonProperty(dataCategory.name), param.businessCategory),
          sqb.range(sqb.jsonProperty(creationDate.name), marklogicDateFormat.name, Operator.LE, DateUtil.printFpmlDateTime(param.messagesTime)))

然后,使用optionsName对其进行排序。

我有时会收到超时错误:

SVC-EXTIME: search-impl:apply-search($querydef) -- Time limit exceeded

有人可以告诉我结构化查询是否进行了未经过滤的搜索或过滤搜索?我们可以进行结构化查询以进行未经过滤的搜索吗?

1 个答案:

答案 0 :(得分:1)

查询是否尝试在单个请求中检索所有100k消息?

推荐的方法是在结果列表中进行分页,在每个请求中获取100到1,000个文档(最佳位置可能因文档大小和其他因素而异)并同时处理每个响应页面并请求下一页以获得最佳吞吐量。

希望有帮助,