我尝试了解solr官方教程。
我查询:
http://localhost:8983/solr/collection1/select/?indent=on&q=*&fl=name,id
并看下一个回复:
<response>
<lst name="responseHeader">
<int name="status">0</int>
<int name="QTime">125</int>
<lst name="params">
<str name="fl">name,id</str>
<str name="indent">on</str>
<str name="q">*</str>
</lst>
</lst>
<result name="response" numFound="28" start="0">
<doc>...</doc>
<doc>...</doc>
<doc>...</doc>
<doc>...</doc>
<doc>...</doc>
<doc>...</doc>
<doc>...</doc>
<doc>...</doc>
<doc>...</doc>
<doc>...</doc>
</result>
</response>
为什么numfound等于28但是doc号是10?
答案 0 :(得分:4)
如果您将查询更改为
http://localhost:8983/solr/collection1/select/?indent=on&q=*&fl=name,id&rows=1000000
rows=
参数指定要返回的结果数。使用值1000000,您将有效地获取所有文档(不仅仅是前10个,这是默认值)。
如果您想要更加小心,可以阅读numFound
参数,然后进行多次调用以使用
http://localhost:8983/solr/collection1/select/?indent=on&q=*&fl=name,id&start=0
http://localhost:8983/solr/collection1/select/?indent=on&q=*&fl=name,id&start=10
http://localhost:8983/solr/collection1/select/?indent=on&q=*&fl=name,id&start=20
这将分别返回10,10和8个文档。
答案 1 :(得分:2)