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";
}
}
가능한 복제본 http://stackoverflow.com/questions/2638200/how-to-get-a-token-from-a-lucene-tokenstream – haim770
문자열이 아닌 토큰을 받아야합니다 (+ 사용합니다.) lucene.NET, 자바가 아닌) ... – serhio