【问题标题】:Lucene TokenStreamLucene 令牌流
【发布时间】:2012-07-19 20:17:54
【问题描述】:

我有一个关于 lucene 标记化过程的基本问题:

TokenStream tokenStream = analyzer.tokenStream(fieldName, reader);    
TermAttribute termAttribute = tokenStream.addAttribute(TermAttribute.class);

termAttribute 是做什么用的,tokenStream.addAttribute(TermAttribute.class) 有什么作用?

谢谢!

【问题讨论】:

    标签: java lucene


    【解决方案1】:

    TermAttribute 包含令牌的文本。 addAttribute(TermAttribute.class) 将返回一个 TermAttribute 的实例(如果还没有,则会创建)。

    说,你也对某个token的位置增量信息感兴趣,那么你也会说:

    PositionIncrementAttribute posIncrAtt = addAttribute(PositionIncrementAttribute.class);
    

    使用 TermAttribute 和 PositionIncrementAttribute 的实例,您现在可以通过以下方式访问/更改令牌文本和位置增量信息:

    termAttribute.buffer()
    posIncrAtt.getPositionIncrement()
    posIncrAtt.setPositionIncrement()
    

    更多详情请参考http://lucene.apache.org/core/3_6_0/api/core/org/apache/lucene/analysis/package-summary.html

    【讨论】:

      猜你喜欢
      • 2013-07-02
      • 2012-09-10
      • 1970-01-01
      • 1970-01-01
      • 2010-10-13
      • 2020-01-09
      • 2021-08-23
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多