- 概述
- 源码分析
概述
Elasticsearch的Analyzer、Tokenizer、TokenFilter的注册过程类似,并且在各自的Factory方法中都会创建Lucene相应的具体实例对象。具体过程参考源码分析部分。
Elasticsearch在处理查询语句时,根据查询语句中指定的分析器名字,找到相应的工程方法,从而找到Lucene具体的分析器实例。分析器的名字是事先规定好,代码中的名字必须跟查询语句中的分析器名字一样,如果找不到分析器,则启用默认分析器。
源码分析
'''(1)Elasticsearch:注册分析器名字--Factory方法'''
public class AnalysisModule extends AbstractModule {
private static class DefaultProcessor extends AnalysisBinderProcessor {
'''注册TokenFilter'''
@Override
public void processTokenFilters(TokenFiltersBindings tokenFiltersBindings) {
tok