我使用Lucene.NET3.0.3如何获取TermAttribute.I。我尽了最大努力,但我无法获取它
来源:
Analyzer analyzer = new Lucene.Net.Analysis.Snowball.SnowballAnalyzer(Lucene.Net.Util.Version.LUCENE_30, "English",stopword);
TokenStream tokenStream = analyzer.TokenStream("English", new StringReader("How to get TermAttribute"));
while (tokenStream.IncrementToken())
{
???How to get TermAttribute
}发布于 2013-04-29 19:23:08
var termAttr = tokenStream.GetAttribute<Lucene.Net.Analysis.Tokenattributes.ITermAttribute>();
while(tokenStream.IncrementToken())
{
string term = termAttr.Term;
}发布于 2019-01-24 08:38:15
在Apache Lucene.Net 4.8中,您可以使用以下核心代码:(.NET核心2+),其中term = termAttr.ToString()包含标记作为string。完整的方法:你可以在GitHub msigut/LuceneNet48Demo上获得PrintTokens(Analyzer analyzer, string fieldName, string text)。
var tokenStream = analyzer.GetTokenStream(fieldName, textToAnalyze);
var termAttr = tokenStream.GetAttribute<ICharTermAttribute>();
tokenStream.Reset();
while (tokenStream.IncrementToken())
{
string term = termAttr.ToString();
}https://stackoverflow.com/questions/16274779
复制相似问题