[ 
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.

Reply via email to