Class CommonGramsQueryFilter
Wrap a CommonGramsFilter optimizing phrase queries by only returning single words when they are not a member of a bigram.
Example:
- query input to CommonGramsFilter: "the rain in spain falls mainly"
- output of CommomGramsFilter/input to CommonGramsQueryFilter: |"the, "the-rain"|"rain" "rain-in"|"in, "in-spain"|"spain"|"falls"|"mainly"
- output of CommonGramsQueryFilter:"the-rain", "rain-in" ,"in-spain", "falls", "mainly"
Inheritance
Implements
Inherited Members
Namespace: Lucene.Net.Analysis.CommonGrams
Assembly: Lucene.Net.Analysis.Common.dll
Syntax
public sealed class CommonGramsQueryFilter : TokenFilter, IDisposable
Remarks
See:http://hudson.zones.apache.org/hudson/job/Lucene-trunk/javadoc//all/org/apache/lucene/analysis/TokenStream.html and http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/analysis/package.html?revision=718798
Constructors
| Improve this Doc View SourceCommonGramsQueryFilter(CommonGramsFilter)
Constructs a new CommonGramsQueryFilter based on the provided CommomGramsFilter
Declaration
public CommonGramsQueryFilter(CommonGramsFilter input)
Parameters
Type | Name | Description |
---|---|---|
CommonGramsFilter | input | CommonGramsFilter the QueryFilter will use |
Properties
| Improve this Doc View SourceIsGramType
Convenience method to check if the current type is a gram type
Declaration
public bool IsGramType { get; }
Property Value
Type | Description |
---|---|
System.Boolean |
|
Methods
| Improve this Doc View SourceIncrementToken()
Output bigrams whenever possible to optimize queries. Only output unigrams when they are not a member of a bigram. Example:
- input: "the rain in spain falls mainly"
- output:"the-rain", "rain-in" ,"in-spain", "falls", "mainly"
Declaration
public override bool IncrementToken()
Returns
Type | Description |
---|---|
System.Boolean |
Overrides
Reset()
This method is called by a consumer before it begins consumption using IncrementToken().
Resets this stream to a clean state. Stateful implementations must implement this method so that they can be reused, just as if they had been created fresh.
If you override this method, always call base.Reset()
, otherwise
some internal state will not be correctly reset (e.g., Lucene.Net.Analysis.Tokenizer will
throw System.InvalidOperationException on further usage).
Declaration
public override void Reset()
Overrides
Remarks
NOTE:
The default implementation chains the call to the input Lucene.Net.Analysis.TokenStream, so
be sure to call base.Reset()
when overriding this method.