首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在TokenStream Lucene.Net中获取TermAttribute

在TokenStream Lucene.Net中获取TermAttribute
EN

Stack Overflow用户
提问于 2013-04-29 16:59:46
回答 2查看 2.2K关注 0票数 5

我使用Lucene.NET3.0.3如何获取TermAttribute.I。我尽了最大努力,但我无法获取它

来源:

代码语言:javascript
复制
    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

    }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-29 19:23:08

代码语言:javascript
复制
var termAttr = tokenStream.GetAttribute<Lucene.Net.Analysis.Tokenattributes.ITermAttribute>();

while(tokenStream.IncrementToken())
{
    string term = termAttr.Term;
}
票数 9
EN

Stack Overflow用户

发布于 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)

代码语言:javascript
复制
    var tokenStream = analyzer.GetTokenStream(fieldName, textToAnalyze);
    var termAttr = tokenStream.GetAttribute<ICharTermAttribute>();

    tokenStream.Reset();

    while (tokenStream.IncrementToken())
    {
        string term = termAttr.ToString();
    }
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16274779

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档