Package org.apache.lucene.analysis.shingle

# Class ShingleAnalyzerWrapper

java.lang.Object
org.apache.lucene.analysis.Analyzer
org.apache.lucene.analysis.AnalyzerWrapper
org.apache.lucene.analysis.shingle.ShingleAnalyzerWrapper

All Implemented Interfaces:
  `Closeable`, `AutoCloseable`

public final class ShingleAnalyzerWrapper extends AnalyzerWrapper
A ShingleAnalyzerWrapper wraps a `ShingleFilter` around another `Analyzer`.

A shingle is another name for a token based n-gram.

Since:
  3.1

## Nested Class Summary

## Nested classes/interfaces inherited from class org.apache.lucene.analysis.Analyzer

`Analyzer.ReuseStrategy, Analyzer.TokenStreamComponents`

## Field Summary

### Fields inherited from class org.apache.lucene.analysis.Analyzer

`GLOBAL_REUSE_STRATEGY, PER_FIELD_REUSE_STRATEGY`

## Constructor Summary

Constructors
Constructor
Description
`ShingleAnalyzerWrapper()`
Wraps `StandardAnalyzer`.
`ShingleAnalyzerWrapper(int minShingleSize, int maxShingleSize)`
Wraps `StandardAnalyzer`.
`ShingleAnalyzerWrapper(Analyzer defaultAnalyzer)`
`ShingleAnalyzerWrapper(Analyzer defaultAnalyzer, int maxShingleSize)`
`ShingleAnalyzerWrapper(Analyzer defaultAnalyzer, int minShingleSize, int maxShingleSize)`
`ShingleAnalyzerWrapper(Analyzer delegate, int minShingleSize, int maxShingleSize, String tokenSeparator, boolean outputUnigrams, boolean outputUnigramsIfNoShingles, String fillerToken)`
Creates a new ShingleAnalyzerWrapper

## Method Summary

Modifier and Type
Method
Description
`String`
`getFillerToken()`
`int`
`getMaxShingleSize()`
The max shingle (token ngram) size
`int`
`getMinShingleSize()`
The min shingle (token ngram) size
`String`
`getTokenSeparator()`
`final Analyzer`
`getWrappedAnalyzer(String fieldName)`
`boolean`
`isOutputUnigrams()`
`boolean`
`isOutputUnigramsIfNoShingles()`
`protected Analyzer.TokenStreamComponents`
`wrapComponents(String fieldName, Analyzer.TokenStreamComponents components)`

### Methods inherited from class org.apache.lucene.analysis.AnalyzerWrapper

`attributeFactory, createComponents, getOffsetGap, getPositionIncrementGap, initReader, initReaderForNormalization, normalize, wrapReader, wrapReaderForNormalization, wrapTokenStreamForNormalization`

### Methods inherited from class org.apache.lucene.analysis.Analyzer

`close, getReuseStrategy, normalize, tokenStream, tokenStream`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ShingleAnalyzerWrapper

public ShingleAnalyzerWrapper(Analyzer defaultAnalyzer)

### ShingleAnalyzerWrapper

public ShingleAnalyzerWrapper(Analyzer defaultAnalyzer, int maxShingleSize)

### ShingleAnalyzerWrapper

public ShingleAnalyzerWrapper(Analyzer defaultAnalyzer, int minShingleSize, int maxShingleSize)

### ShingleAnalyzerWrapper

public ShingleAnalyzerWrapper(Analyzer delegate, int minShingleSize, int maxShingleSize, String tokenSeparator, boolean outputUnigrams, boolean outputUnigramsIfNoShingles, String fillerToken)
Creates a new ShingleAnalyzerWrapper

Parameters:
  `delegate` - Analyzer whose TokenStream is to be filtered
  `minShingleSize` - Min shingle (token ngram) size
  `maxShingleSize` - Max shingle size
  `tokenSeparator` - Used to separate input stream tokens in output shingles
  `outputUnigrams` - Whether or not the filter shall pass the original tokens to the output stream
  `outputUnigramsIfNoShingles` - Overrides the behavior of outputUnigrams==false for those times when no shingles are available (because there are fewer than minShingleSize tokens in the input stream)? Note that if outputUnigrams==true, then unigrams are always output, regardless of whether any shingles are available.
  `fillerToken` - filler token to use when positionIncrement is more than 1

### ShingleAnalyzerWrapper

public ShingleAnalyzerWrapper()
Wraps `StandardAnalyzer`.

### ShingleAnalyzerWrapper

public ShingleAnalyzerWrapper(int minShingleSize, int maxShingleSize)
Wraps `StandardAnalyzer`.

## Method Details

### getMaxShingleSize

public int getMaxShingleSize()
The max shingle (token ngram) size

Returns:
  The max shingle (token ngram) size

### getMinShingleSize

public int getMinShingleSize()
The min shingle (token ngram) size

Returns:
  The min shingle (token ngram) size

### getTokenSeparator

public String getTokenSeparator()

### isOutputUnigrams

public boolean isOutputUnigrams()

### isOutputUnigramsIfNoShingles

public boolean isOutputUnigramsIfNoShingles()

### getFillerToken

public String getFillerToken()

### getWrappedAnalyzer

public final Analyzer getWrappedAnalyzer(String fieldName)

Specified by:
  `getWrappedAnalyzer` in class `AnalyzerWrapper`

### wrapComponents

protected Analyzer.TokenStreamComponents wrapComponents(String fieldName, Analyzer.TokenStreamComponents components)

Overrides:
  `wrapComponents` in class `AnalyzerWrapper`