自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jj380382856的博客

http://write.blog.csdn.net/configure/column

  • 博客(12)
  • 收藏
  • 关注

原创 lucene索引源码分析2

上一篇文章大概讲了索引从indexwriter到defaultindexchain的过程,也分析了defaultindexchain的基本流程,主要就是:将dwpt接收的每个文档一条条处理---》对每一条文档再按Field依次处理---》对每个Field依据他是否分词,是否存储是否有docvalue再分别处理。可见每个dwpt之间是并行的做事情,每个dwpt内是串行的做事情。每个f

2016-09-30 16:09:40 1248 1

原创 lucene索引源码分析1

前面的一些文章主要分析了一些solr索引处理的流程,和索引文件打交道的是lucene的工作,下面我们基于lucene5.3.1对它的索引流程进行分析。在开始前请允许我盗图一张,下面是lucene索引链的流程图我们一般用IndexWriter写索引的代码如下:indexWriter.addDocument(doc1);或者indexWriter.addDocument

2016-09-02 09:54:01 1381

原创 solr索引过程源码解析

在文章http://blog.csdn.net/jj380382856/article/details/51603818我们分析了更新索引的solrj源码的处理方式,最后会向solr发送一个/update的请求,下面我们继续分析solr在接收到这个请求会怎么处理。1.请求首先被SolrDispatchFilter截获,然后执行dofilter方法2.在方法中调用 Action result

2016-08-18 14:49:57 2361

原创 ansj源码浅析3

上一篇我们讲到了利用核心词典和用户定义词典以及双数组将字符串分词形成了一个数组链表(graph),下面我们继续分析getResult(Graph graph)函数,此函数来自于Analysis类是一个抽象函数,里面有个抽象类和抽象方法,需要用户继承并自定义实现protected abstract List getResult(Graph graph); public abstract c

2016-08-16 15:13:30 873

原创 ansj源码浅析2

在上一篇文章http://blog.csdn.net/jj380382856/article/details/52174225里我们对ansj的流程做了简单的分析,下面我们主要来看ansj中graph的构造以及应用过程。先贴出上一篇文章中分析过的函数:private void analysisStr(String temp) { Graph gp = new Graph(temp);/

2016-08-11 10:54:45 1107

原创 ansj源码浅析1

开始之前先盗个图,下图是lucene分词结构的类关系图,可以看出所有的分词流都是基于TokenStream来做的。它下面有两个继承类,一个是来分词的(Tokenizer),一个是来过滤的(TokenFilter)。我们主要来分析分词的类。ansj分词器的构造函数如下 public AnsjTokenizer(Analysis ta,String stopwordsDir, bool

2016-08-10 17:06:57 1786

原创 基于lucene的mr索引程序的实现

之前做过一个基于solrJ的mr索引程序,性能并不理想,想着solr的底层就是lucene,所以我用相应版本的lucene做了一个mr程序,程序性能提高了30-40倍(同样的分词器),实验证明创建出来的索引能被solrcloud识别,此程序只用到了map过程,生成的文件最后经过一次本地的合并形成最终的索引。下面放出部分主要程序代码:public static class TestM

2016-07-20 15:24:34 584

原创 java同步互斥,生产者消费者

下面的例子模拟了一个生产者消费者的同步场景,在生产者生产的时候加入了仓库的容量和当前放置数的比较,注释写的很清楚,有问题请留言public class ThreadTest { /** * 仓库 * * @author jinjing * */ class WareHouse { private int num; private int max_

2016-06-14 14:16:01 631

原创 cloudsolrclient的add方法分析

cloudsolrclient的add方法调用的是父类solrclient的add方法 public UpdateResponse add(String collection, Collection docs, int commitWithinMs) throws SolrServerException, IOException {  UpdateRequest req = new U

2016-06-07 15:01:27 3840

原创 solrcloud有路由的mapreduce索引程序

前几天遇到了大数据量的上传问题,上传速度一直很慢,看到网上有文章实现了有路由的mr索引程序,所以我也写了一个程序如下:public class MapReduceWithRoute extends Configured implements Tool {/*** * @param args* @throws Exception*/public s

2016-06-03 09:56:23 1399

原创 HttpSolrCall源码分析

HttpSolrCall是solr底层发送http请求的中转站,首先看一下它的构造函数public HttpSolrCall(SolrDispatchFilter solrDispatchFilter, CoreContainer cores,               HttpServletRequest request, HttpServletResponse response, b

2016-05-04 14:12:28 486

原创 solr源码入门1

在本文中,solr作为一个封装了lucene的web服务我们首先看一下solr的web.xml    solr/home    java.lang.String    E:\\solr_home        SolrRequestFilter    org.apache.solr.servlet.SolrDispatchFilter          ex

2016-04-26 14:38:48 517

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除