2014-04-07 1 views
0

Lucene.NET을 사용하여 프로젝트를 업데이트해야합니다. 이 라이브러리를 처음 만났을 때 새 버전에 대한 참조를 업데이트해야합니다. 그래서 NuGet을 통해 Lucene 레퍼런스를 사용했습니다.Lucene.NET TokenStream.Next 메서드가 사라졌습니다

하지만 실제로 나는 새 버전에서 사라진 일부 방법을 업데이트해야합니다.

public abstract class AnalyzerView 
{ 
    public abstract string Name { get; } 

    public virtual string GetView(TokenStream tokenStream,out int numberOfTokens) 
    { 
     StringBuilder sb = new StringBuilder(); 

     Token token = tokenStream.Next(); 

     numberOfTokens = 0; 

     while (token != null) 
     { 
      numberOfTokens++; 
      sb.Append(GetTokenView(token)); 
      token = tokenStream.Next(); 
     } 

     return sb.ToString(); 
    } 

    protected abstract string GetTokenView(Token token); 
} 

설명서가 명확하지 않습니다. 내가 이해했듯이

while (tokenStream.IncrementToken()) { ... } 

과 같은 것을 사용해야하지만 다음과 같은 토큰을 얻는 방법은 나를위한 수수께끼입니다.

는 I에 유래에 similar question을 보았다,하지만 내 문제는 내가 오히려 string thatn Token를 얻을 필요가있다 나는이 같은 토큰을 사용하는 몇 가지 코드를 가지고 있기 때문에 마지막으로, 이후 일부

public class TermWithOffsetsView : AnalyzerView { 
    public override string Name { 
     get { return "Terms With Offsets"; } 
    } 

    protected override string GetTokenView(Token token) { 
     return token.TermText() + 
      " Start: " + token.StartOffset().ToString().PadLeft(5) + 
      " End: " + token.EndOffset().ToString().PadLeft(5) + 
      "\r\n"; 
    } 
} 
+0

가능한 복제본 http://stackoverflow.com/questions/2638200/how-to-get-a-token-from-a-lucene-tokenstream – haim770

+0

문자열이 아닌 토큰을 받아야합니다 (+ 사용합니다.) lucene.NET, 자바가 아닌) ... – serhio

답변

4

public abstract class AnalyzerView 
{ 
    public abstract string Name { get; } 

    public virtual string GetView(TokenStream tokenStream,out int numberOfTokens) 
    { 
     StringBuilder sb = new StringBuilder(); 
     numberOfTokens = 0; 
     while (tokenStream.IncrementToken()) 
     { 
      numberOfTokens++; 
      sb.Append(GetTokenView(tokenStream)); 
     } 

     return sb.ToString(); 
    } 

    protected abstract string GetTokenView(TokenStream tokenStream); 
} 

파생 클래스와 같은 :

,144,123 연구, 이런 식으로 뭔가를 구현