solr节点架构使用shard好还是使用单节点好

 我来答
蘑菇饭资讯
2014-11-24 · TA获得超过6万个赞
知道大有可为答主
回答量:1.7万
采纳率:90%
帮助的人:1.2亿
展开全部
基于solr4.4
solr索引过程分析
分布式的索引起始就是在每个sharding中建立索引,在sharding中的索引过程和单节点的情况是一致的。
先说一下solr的单节点的索引过程,
在Http请求的SolrDispatcherFilter filter处理中,获取SolrRequestHandler
handler = core.getRequestHandler( path );
这里的handler是UpdateRequestHandler
<requestHandler name="/update" class="solr.UpdateRequestHandler">
SolrDispatcherFilter.execute( HttpServletRequest req, SolrRequestHandler handler, SolrQueryRequest sreq, SolrQueryResponse rsp)
---SolrCore.execute( handler, req, rsp );
---SolrRequestHandler.handleRequest
在handleRequest实现中,调用handleRequestBody进行处理,处理过程如下:
//生成的processor链有两个,RunUpdateProcessor&LogUpdateProcessor,其中一个在processor包括另外一个processor作为next变量
UpdateRequestProcessorChain processorChain =
req.getCore().getUpdateProcessingChain(params.get(UpdateParams.UPDATE_CHAIN))
UpdateRequestProcessor processor = processorChain.createProcessor(req, rsp);
//用documentLoader对数据参数做加工处理,生成UpdateCommand作为processor的输入参数
documentLoader.load(req, rsp, stream, processor);
----RunUpdateProcessor.processAdd(AddUpdateCommand cmd)
-----DirectUpdateHandler2.addDoc
-----DirectUpdateHandler2.commit
结合lucene的索引的底层的原理,重点对commit这个方法进行分析,
commit,
void commit(CommitUpdateCommand cmd)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式