[ https://issues.apache.org/jira/browse/LUCENE-430?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12498523 ]
Paul Elschot commented on LUCENE-430: ------------------------------------- Are you also going to try and make the buffer size dependent on the number of docs that contain the term? The current patch still uses BUFFERSIZE only. > Reducing buffer sizes for TermDocs. > ----------------------------------- > > Key: LUCENE-430 > URL: https://issues.apache.org/jira/browse/LUCENE-430 > Project: Lucene - Java > Issue Type: Improvement > Components: Store > Affects Versions: CVS Nightly - Specify date in submission > Environment: Operating System: other > Platform: Other > Reporter: Paul Elschot > Assigned To: Michael Busch > Priority: Minor > Attachments: lucene-430.patch > > > From java-dev: > > On Friday 09 September 2005 00:34, Doug Cutting wrote: > > Paul Elschot wrote: > > > I suppose one of these cases are when many terms are used in a query. > > > Would it be easily possible to make the buffer size for a term iterator > > > depend on the numbers of documents to be iterated? > > > Many terms only occur in a few documents, so this could be a > > > nice win on total buffer size for the many terms case. > > > > This would not be too difficult. > > > > Look in SegmentTermDocs.java. The buffer may be allocated when the > > parent's stream is first cloned, but clone() won't allocate a buffer if > > the source hasn't had a buffer allocated yet, and nothing should perform > > i/o directly on the parent's freqStream, so in practice a buffer should > > not be allocated until the first read is performed on the clone. > > I tried delaying the buffer allocation in BufferedIndexInput by > using this clone() method: > > public Object clone() { > BufferedIndexInput clone = (BufferedIndexInput)super.clone(); > clone.buffer = null; > clone.bufferLength = 0; > clone.bufferPosition = 0; > clone.bufferStart = getFilePointer(); > return clone; > } > > With this all term document iterators seem to be empty, no > query in the test cases gives any results, for example TestDemo > and TestBoolean2. > As far as I can see, this delaying should work, but it doesn't and > I have no idea why. > > End of quote from java-dev. > > Doug replied that at a glance this clone method looks good. > Without this delayed buffer allocation, a reduced buffer size > for TermDocs cannot be implemented easily. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]