solrj查询结果非常奇怪

时间:2013-08-06 19:07:50

标签: solr solrj solr4

你好我在使用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库中的一个错误?

1 个答案:

答案 0 :(得分:1)

在查看响应时,它会显示正在传入的start=1值.start的默认值为0,请参阅CommonQueryParameters以供参考。由于您的查询只有两个结果,并且起始值为零,因此通过指定start=1,您只需要第二个文档。将此参数更改为start=0,您将获得两个结果。