Solr JSON请求不会立即返回所有数据

时间:2012-08-08 07:45:48

标签: json parsing solr

我使用这种模式:

http://localhost:8983/solr/select/?q=hello&wt=json&json.wrf=?&indent=true&hl=true&hl.fl=title

它返回如下:

?({
    "response":{"numFound":100,"start":0,"docs":[
        {
            "id":"1234",
            "title":"Something Hello"
            ..
            ..
        },
        ... bla bla, to the end
    ]
})

很明显,标题中显示100 records found,但{ bla bla... } 项内的just 10确实在中。它实际上是索引中的100项。它必须完全显示100。

它只显示前10个项目吗? 我在模式中错过了什么?

1 个答案:

答案 0 :(得分:4)

100是Solr找到的记录总数,但默认情况下,它一次只返回10个。

尝试将&rows=100添加到网址,一次获取所有100个结果。

编辑:在真实的应用中,您可能希望在页面中获取结果,这样您就不会耗尽内存,试图立即获取数十亿个结果。在这种情况下,您可以合并startrows选项。

例如,一次获取20个结果:

  • 第一个请求将使用&start=0&rows=20

  • 第二个请求将使用&start=20&rows=20

  • ......依此类推,直到你获得了所有结果。

这类似于在SQL中使用OFFSETLIMIT关键字,如果您熟悉这些关键字。