官术网_书友最值得收藏!

  • Lucene 4 Cookbook
  • Edwood Ng Vineeth Mohan
  • 240字
  • 2021-07-16 14:07:50

Obtaining a TokenStream

TokenStream is an intermediate data format between components within the analysis process. TokenStream acts as both an input and output format in all filters. For tokenizer, it consumes text from a reader and outputs result as TokenStream. Let's explore TokenStream in detail in this section.

Getting ready

The Analyzer class is an abstract base class containing two methods of interest. The first one is createComponents (String fieldname, Reader reader). This is where the analyzer is put together by chaining the tokenizer and filters. The second method is tokenStream (String fieldname, Reader reader). This is the method we will review in this section. We will use the tokenStream method to return a processed TokenStream so we can examine its content after the analysis process.

How to do it...

We need two arguments to call the tokenStream method. The first is a field name and the second is a reader:

Reader reader = new StringReader("Text to be passed");
Analyzer analyzer = new SimpleAnalyzer();
TokenStream tokenStream = analyzer.tokenStream("myField", reader);

How it works…

An analyzer processes incoming text via a Reader input. Internally, the Reader is passed on to Tokenizer, which turns the text into a TokenStream after it's been processed. From here on, TokenStream is passed around between filters in every step. TokenStream is essentially an enumeration of tokens that you can iterate through. TokenStream extends from AttributeSource and it provides an interface to return token attributes and value.

主站蜘蛛池模板: 西峡县| 青州市| 府谷县| 承德县| 康乐县| 扎鲁特旗| 马尔康县| 波密县| 江口县| 庆城县| 乐都县| 宽城| 壤塘县| 永顺县| 伊春市| 新晃| 辉县市| 托克逊县| 大丰市| 廊坊市| 保康县| 平利县| 会理县| 庆城县| 兴城市| 铁力市| 南川市| 云梦县| 姜堰市| 高尔夫| 尼勒克县| 晋州市| 苍山县| 贞丰县| 耿马| 清水县| 黑水县| 获嘉县| 大化| 霍林郭勒市| 崇义县|