Markus Jelsma created SOLR-7580:
-----------------------------------
Summary: Number of ScoreDoc instances equals rows parameter, not
actual number of matches
Key: SOLR-7580
URL: https://issues.apache.org/jira/browse/SOLR-7580
Project: Solr
Issue Type: Improvement
Affects Versions: 5.1
Reporter: Markus Jelsma
Fix For: 5.2
We have several batch jobs that use StreamingResponseCallback to collect all
records matching a specific query. For each record, we execute a new query and
need all results without paging through them. Because we do not know the amount
of matches to expect, we do setRows(Integer.MAX_VALUE);. According to the
VisualVM samples, this results in a huge amount of ScoreDoc instances, making
the query unreasonably slow.
The current work-around we use is to execute the same query with setRows(0),
get numResults, and then reissue the query with setRows(numResults). This is
fast, almost as fast as one would expect.
This is, however, a very dirty work-around. I am unsure whether this is a Solr
or Lucene issue, SolrIndexSearcher is a beast to debug ;)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]