自定义的solr搜索系统作为web应用发布到tomcat后,运行过程中其搜索代码逻辑如下:
用户solr搜索应用发送搜索请求URL,solr应用的org.apache.solr.servlet.SolrDispatchFilter类接收到请求,
SolrDispatchFilter.doFilter()
-> SolrDispatchFilter.execute()
-> SolrCore.execute()
-> RequestHandlerBase.handleRequest()
-> SearchHandler.handleRequestBody()
-> 各个Component依次执行自身的process()方法,如:SpellCheckComponent.process()
-> 各个拼写检查子模块分别进行拼写检查,SolrSpellChecker.getSuggestion(),如:DirectSolrSpellChecker
-> 调用lucene相关拼写检查接口进行拼写检查;