[ https://issues.apache.org/jira/browse/LUCENE-2028?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Danish Contractor updated LUCENE-2028: -------------------------------------- Attachment: FilteredTermEnum.java My version of the file. > FilteredTermEnum.Java - The first term in the enumeration is skipped. > --------------------------------------------------------------------- > > Key: LUCENE-2028 > URL: https://issues.apache.org/jira/browse/LUCENE-2028 > Project: Lucene - Java > Issue Type: Bug > Components: Search > Affects Versions: 2.4.1 > Environment: JDK 1.6 > Reporter: Danish Contractor > Attachments: FilteredTermEnum.java > > Original Estimate: 0.5h > Remaining Estimate: 0.5h > > The Filtered Term Enumeration seems to skip the first term present in the > enumerator. > The problem lies in the next() function, which moves does not do anything > with the first value of currentTerm set by the setEnum() method. > The setEnum() function sets a value to the currentTerm and returns. An > implementation of WildCardTermEnum, for example calls the next() method where > the currentTerm is set to null and the enumerator moves to the next value. > The first term is not read. > In my local workspace, I have modified the next() method as follows: > /** Increments the enumeration to the next element. True if one exists. */ > public boolean next() throws IOException { > if (actualEnum == null) return false; // the actual enumerator is not > initialized! > if(currentTerm!=null &&!startedReading) //check if first term read > { > startedReading=true; > return true; > } > currentTerm = null; > while (currentTerm == null) { > if (endEnum()) return false; > if (actualEnum.next()) { > Term term = actualEnum.term(); > if (termCompare(term)) { > currentTerm = term; > return true; > } > } > else return false; > } > currentTerm = null; > return false; > } > I have added a boolean variable called startedReading that is a member of the > FilteredTermEnum class and is set to false. Once the currentTerm set by > setEnum is read, I set this value to true and the code continues as before. > I have run a few of my own test cases and it returns the results I was > looking for which were missing earlier as they happened to be the first term > in the enumerator. -- 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: java-dev-unsubscr...@lucene.apache.org For additional commands, e-mail: java-dev-h...@lucene.apache.org