Class DirectoryTaxonomyWriter.SinglePositionTokenStream

java.lang.Object
org.apache.lucene.util.AttributeSource
org.apache.lucene.analysis.TokenStream
org.apache.lucene.facet.taxonomy.directory.DirectoryTaxonomyWriter.SinglePositionTokenStream
All Implemented Interfaces:
Closeable, AutoCloseable
Enclosing class:
DirectoryTaxonomyWriter

private static class DirectoryTaxonomyWriter.SinglePositionTokenStream extends TokenStream
  • Field Details

  • Constructor Details

    • SinglePositionTokenStream

      public SinglePositionTokenStream(String word)
  • Method Details

    • set

      public void set(int val)
      Set the value we want to keep, as the position increment. Note that when TermPositions.nextPosition() is later used to retrieve this value, val-1 will be returned, not val.

      IMPORTANT NOTE: Before Lucene 2.9, val>=0 were safe (for val==0, the retrieved position would be -1). But starting with Lucene 2.9, this unfortunately changed, and only val>0 are safe. val=0 can still be used, but don't count on the value you retrieve later (it could be 0 or -1, depending on circumstances or versions). This change is described in Lucene's JIRA: LUCENE-1542.

    • incrementToken

      public boolean incrementToken() throws IOException
      Description copied from class: TokenStream
      Consumers (i.e., IndexWriter) use this method to advance the stream to the next token. Implementing classes must implement this method and update the appropriate AttributeImpls with the attributes of the next token.

      The producer must make no assumptions about the attributes after the method has been returned: the caller may arbitrarily change it. If the producer needs to preserve the state for subsequent calls, it can use AttributeSource.captureState() to create a copy of the current attribute state.

      This method is called for every token of a document, so an efficient implementation is crucial for good performance. To avoid calls to AttributeSource.addAttribute(Class) and AttributeSource.getAttribute(Class), references to all AttributeImpls that this stream uses should be retrieved during instantiation.

      To ensure that filters and consumers know which attributes are available, the attributes must be added during instantiation. Filters and consumers are not required to check for availability of attributes in TokenStream.incrementToken().

      Specified by:
      incrementToken in class TokenStream
      Returns:
      false for end of stream; true otherwise
      Throws:
      IOException