C# Класс Lucene.Net.Analysis.Analyzer

An Analyzer represents a policy for extracting terms that are indexed from text. The Analyzer builds TokenStreams, which breaks down text into tokens.

A typical Analyzer implementation will first build a Tokenizer. The Tokenizer will break down the stream of characters from the System.IO.TextReader into raw Tokens. One or more TokenFilters may then be applied to the output of the Tokenizer.

Наследование: IDisposable
Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
GLOBAL_REUSE_STRATEGY ReuseStrategy
PER_FIELD_REUSE_STRATEGY ReuseStrategy

Открытые методы

Метод Описание
Analyzer ( ) : Lucene.Net.Util

Create a new Analyzer, reusing the same set of components per-thread across calls to #tokenStream(String, Reader).

Analyzer ( ReuseStrategy reuseStrategy ) : Lucene.Net.Util

Expert: create a new Analyzer with a custom ReuseStrategy.

NOTE: if you just want to reuse on a per-field basis, its easier to use a subclass of AnalyzerWrapper such as PerFieldAnalyerWrapper instead.

CreateComponents ( string fieldName, TextReader reader ) : TokenStreamComponents

Creates a new TokenStreamComponents instance for this analyzer.

Dispose ( ) : void

Frees persistent resources used by this Analyzer

GetOffsetGap ( string fieldName ) : int

Just like #getPositionIncrementGap, except for Token offsets instead. By default this returns 1. this method is only called if the field produced at least one token for indexing.

GetPositionIncrementGap ( string fieldName ) : int

Invoked before indexing a IndexableField instance if terms have already been added to that field. this allows custom analyzers to place an automatic position increment gap between IndexbleField instances using the same field name. The default value position increment gap is 0. With a 0 position increment gap and the typical default token position increment of 1, all terms in a field, including across IndexableField instances, are in successive positions, allowing exact PhraseQuery matches, for instance, across IndexableField instance boundaries.

InitReader ( string fieldName, TextReader reader ) : TextReader

Override this if you want to add a CharFilter chain.

The default implementation returns reader unchanged.

TokenStream ( string fieldName, TextReader reader ) : TokenStream

Returns a TokenStream suitable for fieldName, tokenizing the contents of text.

this method uses #createComponents(String, Reader) to obtain an instance of TokenStreamComponents. It returns the sink of the components and stores the components internally. Subsequent calls to this method will reuse the previously stored components after resetting them through TokenStreamComponents#setReader(Reader).

NOTE: After calling this method, the consumer must follow the workflow described in TokenStream to properly consume its contents. See the Lucene.Net.Analysis Analysis package documentation for some examples demonstrating this.

Описание методов

Analyzer() публичный Метод

Create a new Analyzer, reusing the same set of components per-thread across calls to #tokenStream(String, Reader).
public Analyzer ( ) : Lucene.Net.Util
Результат Lucene.Net.Util

Analyzer() публичный Метод

Expert: create a new Analyzer with a custom ReuseStrategy.

NOTE: if you just want to reuse on a per-field basis, its easier to use a subclass of AnalyzerWrapper such as PerFieldAnalyerWrapper instead.

public Analyzer ( ReuseStrategy reuseStrategy ) : Lucene.Net.Util
reuseStrategy ReuseStrategy
Результат Lucene.Net.Util

CreateComponents() публичный абстрактный Метод

Creates a new TokenStreamComponents instance for this analyzer.
public abstract CreateComponents ( string fieldName, TextReader reader ) : TokenStreamComponents
fieldName string /// the name of the fields content passed to the /// sink as a reader
reader System.IO.TextReader /// the reader passed to the constructor
Результат TokenStreamComponents

Dispose() публичный Метод

Frees persistent resources used by this Analyzer
public Dispose ( ) : void
Результат void

GetOffsetGap() публичный Метод

Just like #getPositionIncrementGap, except for Token offsets instead. By default this returns 1. this method is only called if the field produced at least one token for indexing.
public GetOffsetGap ( string fieldName ) : int
fieldName string the field just indexed
Результат int

GetPositionIncrementGap() публичный Метод

Invoked before indexing a IndexableField instance if terms have already been added to that field. this allows custom analyzers to place an automatic position increment gap between IndexbleField instances using the same field name. The default value position increment gap is 0. With a 0 position increment gap and the typical default token position increment of 1, all terms in a field, including across IndexableField instances, are in successive positions, allowing exact PhraseQuery matches, for instance, across IndexableField instance boundaries.
public GetPositionIncrementGap ( string fieldName ) : int
fieldName string IndexableField name being indexed.
Результат int

InitReader() публичный Метод

Override this if you want to add a CharFilter chain.

The default implementation returns reader unchanged.

public InitReader ( string fieldName, TextReader reader ) : TextReader
fieldName string IndexableField name being indexed
reader System.IO.TextReader original Reader
Результат System.IO.TextReader

TokenStream() публичный Метод

Returns a TokenStream suitable for fieldName, tokenizing the contents of text.

this method uses #createComponents(String, Reader) to obtain an instance of TokenStreamComponents. It returns the sink of the components and stores the components internally. Subsequent calls to this method will reuse the previously stored components after resetting them through TokenStreamComponents#setReader(Reader).

NOTE: After calling this method, the consumer must follow the workflow described in TokenStream to properly consume its contents. See the Lucene.Net.Analysis Analysis package documentation for some examples demonstrating this.

if the Analyzer is closed. if an i/o error occurs (may rarely happen for strings).
public TokenStream ( string fieldName, TextReader reader ) : TokenStream
fieldName string the name of the field the created TokenStream is used for
reader System.IO.TextReader
Результат TokenStream

Описание свойств

GLOBAL_REUSE_STRATEGY публичное статическое свойство

A predefined ReuseStrategy that reuses the same components for every field.
public static ReuseStrategy GLOBAL_REUSE_STRATEGY
Результат ReuseStrategy

PER_FIELD_REUSE_STRATEGY публичное статическое свойство

A predefined ReuseStrategy that reuses components per-field by maintaining a Map of TokenStreamComponent per field name.
public static ReuseStrategy PER_FIELD_REUSE_STRATEGY
Результат ReuseStrategy