[ https://issues.apache.org/jira/browse/LUCENENET-121?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12609103#action_12609103 ]
Digy commented on LUCENENET-121: -------------------------------- Current stopword usage is like this: System.Collections.HashTable stopWordsSet = new System.Collections.Hashtable(); stopWordsSet.Add("some","some"); StopAnalyzer newStop = new StopAnalyzer(stopWordsSet); but the "key" of Hashtable is not used anywhere and causes a dublicate typing of stop words(also more memory). A more natural usage would be: System.Collections.ArrayList stopWordsSet = new System.Collections.ArrayList(); stopWordsSet.Add("some"); StopAnalyzer newStop = new StopAnalyzer(stopWordsSet); I will attach another patch for this. DIGY > StopFilter tries to access the i'th item of a hashtable as item[i] where i > is not a key. > ----------------------------------------------------------------------------------------- > > Key: LUCENENET-121 > URL: https://issues.apache.org/jira/browse/LUCENENET-121 > Project: Lucene.Net > Issue Type: Bug > Environment: Lucene.Net 2.3.1 > Reporter: Digy > Attachments: StopFilter v1.patch > > > Constructor of StopFilter tries to access the i'th item of a hashtable as > item[i] where i is not a key. > {code} > public StopFilter(TokenStream input, > System.Collections.Hashtable stopWords, bool ignoreCase) : base(input) > { > if (stopWords is CharArraySet) > { > this.stopWords = (CharArraySet) stopWords; > } > else > { > this.stopWords = new > CharArraySet(stopWords.Count, ignoreCase); > for (int i = 0; i < stopWords.Count; i++) > { > this.stopWords.Add(stopWords[i]); // > <----- i is not a "key" it is index. > } > } > } > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.