Analysis 

Analysis模块主要提供了文本解析的功能,输入为TextReader的字符流,最终解析成TokenStream形式的结果返回给调用端。由前文的NLucene架构图可以看出,Analysis主要为Index和QueryParser模块提供解析服务,分别是在Indexing原始文件和解析搜索语句中的Term的过程中。

要了解这个包,首先需要明确几个概念:

Ø         Token:

Ø         TokenType:

Ø         TokenStream: TokenStream是Token迭代器;

Ø         Analyzer: 一个Analyzer是一个TokenStream工厂;

Ø         Tokenizer:

Ø         TokenFilter:

类图如下所示:
Analyzer类族,作为Analyzer模块对外提供的接口,定义了基类Analyzer, 子类SimpleAnalyzer(简单分析器,只分词),StopAnalyzer(定义了StopTable,过滤Noise Word)以及标准分析器StandardAnalyzer。
Analysis

然后定义了基类TokenStream,Next()为核心方法。此处应用了Decorate模式。

Analysis

相关文章:

  • 2021-09-24
  • 2022-03-05
  • 2021-08-20
  • 2021-06-13
  • 2021-09-05
  • 2021-11-05
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-03-31
  • 2022-01-13
  • 2021-10-30
  • 2021-09-17
  • 2021-10-18
  • 2022-03-04
  • 2022-02-19
相关资源
相似解决方案