检索
文章平均质量分 82
ferraborghini
这个作者很懒,什么都没留下…
展开
-
solr源码分析--query
solr查询的逻辑比较复杂,下面按场景简单做一个梳理。 概述 只考虑一般的查询流程。单节点和分布式搜索流程上还是有很大的差别。简单的先看一下solrServer是如何接受到查询请求的,以及response的构造。整体流程 大体的流程在这篇博客中已经写明。solr6.2源码分析 请求入口 首先,solr是部署在tomcat上的一个web项目,看一下过滤器的逻辑。 web.xml原创 2017-12-30 17:54:38 · 1471 阅读 · 0 评论 -
solr源码分析--API
solr API请求处理逻辑,reload,create等等使用的都是类似的流程,这个过程中牵扯到了zk的分布式队列以及solr中的overseer的概念。明白这个之后就可以添加自定义API。 概要 solr的API基本上可以分为两类。collection级别的API,比如创建collection时候的CREATE的请求。第二类就是core级别的API,collection创建的时候,最终请求是要原创 2017-12-30 22:11:18 · 921 阅读 · 0 评论 -
solr源码分析--数据类型
如果业务上有需求,需要进行自定义数据类型。这个就需要对solr的数据类型的实现有一定的了解。 shema solr的很多配置向都是在一个confset,配置集里面去定义的。比如说前面有提到,要想添加自定义的processor就需要在solrconfig.xml配置文件中进行定义,当然后端还是要写自己的实现。数据类型也是一样。先看一下solr本身是如何定义数据类型的。 简单类比于数据原创 2017-12-30 22:56:40 · 1462 阅读 · 0 评论 -
solr源码分析--recovery
恢复机制比较复杂,慢慢写写。 概述 恢复的流程主要就是三个,一个replay,一个peersync还有一个replicate。下面结合场景,从源码角度分析三个数据恢复场景的流程。replay 这个还是先从solr启动说起,分析一下整体的代码流程。SolrDispatcher.init() @Override public void init(FilterConfig config) thr原创 2017-12-30 23:50:57 · 749 阅读 · 0 评论 -
solr源码分析--addDocument
马上2017就要结束了,今年研究了不少solr相关的问题,年末的时候还是做一个总结吧。明年说不定就开始搞ES了。 一、数据流传递过程 数据添加的API是以post的形式发送,此处以solrj数据导入为例,接收数据就用到了JavabinLoader。前面的SolrDispatcher流程暂时跳过,直接看handleRequestBody的处理过程。 ContentStreamHandlerBase.原创 2017-12-30 13:27:49 · 1058 阅读 · 0 评论