5

TermAttributeの取得方法はLucene.NET3.0.3を使用しています。

ここにソース:

    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

    }
4

2 に答える 2

9
var termAttr = tokenStream.GetAttribute<Lucene.Net.Analysis.Tokenattributes.ITermAttribute>();

while(tokenStream.IncrementToken())
{
    string term = termAttr.Term;
}
于 2013-04-29T11:23:07.773 に答える
3

Apache Lucene.Net 4.8では、このC# コード(.NET Core 2+)を使用できterm = termAttr.ToString()ます。完全な方法: GitHub msigut/LuceneNet48Demoで入手できます。stringPrintTokens(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();
    }
于 2019-01-24T00:38:14.720 に答える