使用JAVA API对Rawcombined Query进行Marklogic性能

时间:2016-02-04 07:04:11

标签: marklogic

我已经在我的8GB RAM机器上安装了Marklogic 8并且已经插入了1000万个文档。我正在使用Java API查询数据库并获得前1000个匹配的文档。我的查询(Rawcombined Query)涉及2个PathRange索引 JSON 属性和一个Word查询。当我记录在我的java程序中所花费的时间时,搜索功能需要20秒才能获得1000个文档。

任何人都可以让我知道可能导致这类性能下降的因素是什么?

2 个答案:

答案 0 :(得分:3)

我建议获取较小的页面,并允许通过结果分页。搜索速度很快,拉动实际文档的速度相对较慢。为了获得良好的性能,每页最多可提高10到50个文档。

HTH!

答案 1 :(得分:1)

确保您的查询未经过滤运行,这意味着可以针对索引解析所有查询子句。这可能需要创建一些范围索引。鉴于您提供的伪查询,我看不到任何需要过滤步骤的内容。如果查询运行速度非常慢,则可能是硬件大小调整,操作系统配置或查询有问题。检查运行缓慢的查询的第一件事是确保它未经过滤运行。

请参阅文档中的Fast Pagination and Unfiltered Searches,特定于Java API,Query Options