我使用结构化查询从数据库中获取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
有人可以告诉我结构化查询是否进行了未经过滤的搜索或过滤搜索?我们可以进行结构化查询以进行未经过滤的搜索吗?
答案 0 :(得分:1)
查询是否尝试在单个请求中检索所有100k消息?
推荐的方法是在结果列表中进行分页,在每个请求中获取100到1,000个文档(最佳位置可能因文档大小和其他因素而异)并同时处理每个响应页面并请求下一页以获得最佳吞吐量。
希望有帮助,