我已经在我的8GB RAM机器上安装了Marklogic 8并且已经插入了1000万个文档。我正在使用Java API查询数据库并获得前1000个匹配的文档。我的查询(Rawcombined Query)涉及2个PathRange索引 JSON 属性和一个Word查询。当我记录在我的java程序中所花费的时间时,搜索功能需要20秒才能获得1000个文档。
任何人都可以让我知道可能导致这类性能下降的因素是什么?
答案 0 :(得分:3)
我建议获取较小的页面,并允许通过结果分页。搜索速度很快,拉动实际文档的速度相对较慢。为了获得良好的性能,每页最多可提高10到50个文档。
HTH!
答案 1 :(得分:1)
确保您的查询未经过滤运行,这意味着可以针对索引解析所有查询子句。这可能需要创建一些范围索引。鉴于您提供的伪查询,我看不到任何需要过滤步骤的内容。如果查询运行速度非常慢,则可能是硬件大小调整,操作系统配置或查询有问题。检查运行缓慢的查询的第一件事是确保它未经过滤运行。
请参阅文档中的Fast Pagination and Unfiltered Searches,特定于Java API,Query Options。