lucene-solr-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Lutz (JIRA)" <j...@apache.org>
Subject [jira] Created: (SOLR-1854) wrong calc of numFound in DistributedSearch
Date Mon, 29 Mar 2010 09:22:27 GMT
wrong calc of numFound in DistributedSearch
-------------------------------------------

                 Key: SOLR-1854
                 URL: https://issues.apache.org/jira/browse/SOLR-1854
             Project: Solr
          Issue Type: Bug
          Components: SearchComponents - other
    Affects Versions: 1.4
            Reporter: Lutz


When I search two indices with shard param in a distributed search, the numFound parameter
in the result is incorrect when the count of the found rows in the second index is smaller
than the &rows parameter in the query string and there are many identical hits in both
index.
Simple example: use the same index for both shards. try a distributed search with a query
that will find lets say 100 hits in each index. numFound will be 190,  if default for rows
is 10. It should be 100. If you add &rows=200 to the query string, numFound is correct.
I think the error is in QueryComponent.mergeIds:
 for (int i=0; i<docs.size(); i++) {
          SolrDocument doc = docs.get(i);
          Object id = doc.getFieldValue(uniqueKeyField.getName());

          String prevShard = uniqueDoc.put(id, srsp.getShard());
          if (prevShard != null) {
            // duplicate detected
            numFound--;

because the comparison for identical ids is only done for doc.size() documents.

thanks
 lutz



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message