据我所知,这不可能作为solr wiki。你们有什么工作吗?
答案 0 :(得分:7)
唯一的解决方法是将行值设置得足够大以返回所有文档。
但是,对于任何大于1000个文档的内容,我都不建议这样做。如果您提取的文档数量足够大,则会遇到必须生成和解析的XML的内存或超时问题。例如,如果索引中有2-3百万个文档,您是否真的希望在单个响应中完成所有这些文档?它的分页是有原因的。你应该利用它。
次要问题......为什么你这么做呢?将一堆数据放入搜索索引的重点是什么,如果你只是将它全部拉出来?此时您可能最好使用原始数据源。
答案 1 :(得分:3)
如果你需要解决所有问题,你可以将行数设置得非常高(如上所述,但需要注意的是,它会因内存不足而无效)或者通过迭代你的结果使用“行”和“开始”
伪代码:
numresults = <do an initial query and find out how many results there are>
rows = 100 (or 1000 or 100,000 or whatever you can handle)
start = 0
while (start) <= numresults
url = "http://.../?q=<your query>&rows=<rows>&start=<start>&...
result = <do the call with the url>
<process the docs>
start += rows
endwhile
请参阅http://wiki.apache.org/solr/CommonQueryParameters以了解“开始”
另外请记住,当您抓取大量文档时,请使用“fl”参数仅撤回您实际使用的内容。