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.

Reply via email to