You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucenenet.apache.org by "Jason Fitzharris (JIRA)" <ji...@apache.org> on 2010/05/18 17:39:47 UTC
[jira] Commented: (LUCENENET-54) ArgumentOurOfRangeException caused
by SF.Snowball.Ext.DanishStemmer
[ https://issues.apache.org/jira/browse/LUCENENET-54?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12868685#action_12868685 ]
Jason Fitzharris commented on LUCENENET-54:
-------------------------------------------
I encountered the same issue when using the Finnish stemmer. The problem is similar to LUCENENET-102 as Java and .NET defines string.substring differently. Java uses
string.substring(firstIndex, lastIndex)
whereas .NET uses
string.Substring(startIndex, length)
The solution is to change the line 467 in Snowballprogram.slice_to from
s.Append(current.ToString(bra, ket));
to
s.Append(current.ToString(bra, len));
len is an existing but unused variable which is declared as
int len = ket - bra;
> ArgumentOurOfRangeException caused by SF.Snowball.Ext.DanishStemmer
> -------------------------------------------------------------------
>
> Key: LUCENENET-54
> URL: https://issues.apache.org/jira/browse/LUCENENET-54
> Project: Lucene.Net
> Issue Type: Bug
> Environment: Windows XP SP2, lucene.net v2.0 004
> Reporter: Torsten Rendelmann
> Assignee: George Aroush
> Priority: Critical
>
> Exception Information
> System.SystemException: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ArgumentOutOfRangeException: Index and length must refer to a location within the string.
> Parameter name: length
> at System.String.Substring(Int32 startIndex, Int32 length)
> at System.Text.StringBuilder.ToString(Int32 startIndex, Int32 length)
> at SF.Snowball.SnowballProgram.slice_to(StringBuilder s)
> at SF.Snowball.Ext.DanishStemmer.r_undouble()
> at SF.Snowball.Ext.DanishStemmer.Stem()
> --- End of inner exception stack trace ---
> at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean isBinderDefault, Assembly caller, Boolean verifyAccess)
> at System.Reflection.RuntimeMethodInfo.InternalInvoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean verifyAccess)
> at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
> at System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
> at System.Reflection.MethodInfo.Invoke(Object obj, Object[] parameters)
> at Lucene.Net.Analysis.Snowball.SnowballFilter.Next()
> at Lucene.Net.Analysis.Snowball.SnowballFilter.Next()
> at Lucene.Net.Index.DocumentWriter.InvertDocument(Document doc)
> at Lucene.Net.Index.DocumentWriter.AddDocument(String segment, Document doc)
> at Lucene.Net.Index.IndexWriter.AddDocument(Document doc, Analyzer analyzer)
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.