你好我在使用solr查询结果时遇到了奇怪的错误。 现在我添加一个单词'anna'的简单txt文件,重新启动solr服务器,然后尝试搜索该文档。但我没有任何结果?但如果我添加内容'anna'的另一个文档,然后重新启动solr。我只有一个结果。所以solr中有一个bug或者我不知道什么?
我正在使用luke,一切都很好,我有两个索引文档,当我尝试使用luke一切都很好,我有2个结果。我也检查我的循环,但它的一切都很好。所以也许solrj有些问题?我正在使用solr-core和solrj ver 4.4.0。这是我的代码:
QueryResponse qr;
try {
qr = fs.execute(solrServer);
System.out.println("QYERY RESPONSE : " + qr);
for (Entry<String, Object> r : qr.getResponse()) {
System.out.println("RESPONSE: " + r.getKey() + " -> " + r.getValue());
}
SolrDocumentList dl = qr.getResults();
System.out.println("--RESULT SIZE:[ " + dl.size() );
} catch (SolrServerException e) {
e.printStackTrace();
}
这很奇怪,因为这是我的sysout:
{的 numFound = 2 下,开始= 1,文档= [{SolrDocument = FILE_ID 9882, file_name = luk-search2.txt,file_create_user = -1,file_department = 10, file_mime_type = text / plain,file_extension = .txt, file_parents_folder = [5021,4781,341,-20,-1], 版本 = 1442647024934584320}]}
Num发现是2,但我只有一个结果,所以这是solrj库中的一个错误?
答案 0 :(得分:1)
在查看响应时,它会显示正在传入的start=1
值.start的默认值为0,请参阅CommonQueryParameters以供参考。由于您的查询只有两个结果,并且起始值为零,因此通过指定start=1
,您只需要第二个文档。将此参数更改为start=0
,您将获得两个结果。