本文简单的介绍SVN的编译和安装过程。1. SVN源码包下载 从以下URL下载源码包: subversion-1.4.4.tar.bz2 http://subver
solrfacet源码分析基于solr4.4 SearchHandler实现SolrRequestHandler,SolrCoreAware(inform接口),在SolrCore初始化的过程中,会依次调用SolrRequestHandler中的inform(SolrCore core),在inform的调用中,初始化SearchHandler中的components对象,comp
原创
2023-06-07 11:59:48
117阅读
源码安装svn先卸载低版本wget http://mirrors.hust.edu.cn/apache//apr/apr-1.5.2.tar.bz2wget http://mirrors.hust.edu.cn/apache//apr/apr-util-1.5.4.tar.bz2wget http://mirrors.hust.edu.cn/apache//apr/apr-iconv-1.2.1.
原创
2015-12-21 22:50:47
409阅读
安装说明系统环境:CentOS-6.2安装了一下SVN服务器,本文没有与Apache整合,过程如下:一,下载相关软件:[root@youxia201 test]# wgethttp://subversion.tigris.org/downloads/subversion-1.6.1.tar.gz[root@youxia201 test]# wgethttp://subversion.tigris.
原创
2013-12-23 11:18:59
568阅读
一,下载源码包yum install gcc gcc-++ make pcre-develzlib-devel openssl openssl-devel pcre pcre-devel wget zip unzip -y
wget http://downl
原创
2014-07-01 15:18:42
1401阅读
svn源码下载地址如下图:选择这个图标:svn封装的http方法http原生的方法
原创
2024-06-06 12:23:03
52阅读
一、svn简介SVN全称Subversion,是一款优秀的版本控制工具。SVN分为服务器、客户端两部分,一般以VisualSVN作为服务器,以TortoiseSVN作为客户端。SVN 核心概念:repository(源代码库):源代码统一存放的地方Checkout(提取):当你手上没有源代码的时候,你需要从repository checkout一份Commit(提交):当你已经修改了代码,你就需要
转载
2023-07-23 22:47:13
89阅读
用solr做项目已经有一年有余,但都是使用层面,只是利用solr现有机制,修改参数,然后监控调优,从没有对solr进行源码级别的研究。但是,最近手头的一个项目,让我感觉必须把solrn内部原理和扩展机制弄熟,才能把这个项目做好。今天分享的就是:Solr是如何启动并且初始化的。大家知道,部署solr时,分两部分:一、solr的配置文件。二、solr相关的程序、插件、依赖lucene相关的jar包、
转载
2018-07-24 10:17:00
190阅读
2评论
本文接下来分析EntityProcessor相关类,我们可以称之为实体处理器,针对不同的数据源有不同的实体处理器,屏蔽了不同数据源的差异本文只介绍针对数据库数据源的实体处理器,
转载
2013-05-04 14:05:00
53阅读
2评论
DocBuilder类的简要代码如下,通过传入context参数到EntityProcessorWrapper类的构造函数,然后执行EntityProcessorWrapper的init()方法初始化数据源;然后调用EntityProcessorWrapper的相关方法获取数据(全部导入或增量导入数据)publicclassDocBuilder{privatevoiddoFullDump(){buildDocument(getVariableResolver(),null,null,root,true,null);}privatevoiddoDelta(){Set<Map<Stri
转载
2012-09-09 23:17:00
43阅读
2评论
我们注意到EntityProcessorWrapper的初始化方法@Overridepublicvoidinit(Contextcontext){delegate.init(context); }这里context是上下文对象,通过context获取数据源,context是抽象类publicabstractclassContext{publicabstractDataSourcegetDataSource();publicabstractDataSourcegetDataSource(Stringname);publicabstractEntityProcessorgetEntityProce
转载
2012-09-09 19:48:00
30阅读
2评论
solr处理请求的接口为SolrRequestHandler.java,由handleRequest方法处理来自http的请求/************************************************************************Module:SolrRequestHandler.java*Author:Administrator*Purpose:DefinestheInterfaceSolrRequestHandler*******************************************************************
转载
2012-09-09 17:36:00
74阅读
2评论
在solr的数据导入源码里面,DocBuilder类用于创建solr的Document,具体过程不在本文分析,最后调用SolrWriter类的对象执行SolrInputDocument doc对象的提交、修改、删除等操作本人先来分析一下SolrWriter对象的创建,在DataImportHandler类(数据导入请求处理)的void handleRequestBody(SolrQueryRequest req, SolrQueryResponse rsp)方法里面UpdateRequestProcessorChain processorChain = req.g...
转载
2013-05-04 21:43:00
73阅读
2评论
去年本人写过一系列 solr dataimport 数据导入源码分析,由于博客园系统存在一些问题,后来上传的相同名称的图片覆盖了原来的图片,导致原来文章里面的图片与其内容不符合,我这里重新整理一下,也同时更新一些心得solr dataimport 数据导入的全局UML类图如下(分两张,我的显示器不够大,显示器显示不完)从上面的UML类图看以看出,这里面是采取了装饰模式以及迭代子模式等我们首先来分析
转载
2013-05-04 13:12:00
107阅读
点赞
3评论
数据读取类 JdbcDataSource.javaResultSetIterator是JdbcDataSource的内部类,用于从数据库读取数据privateclassResultSetIterator{ResultSetresultSet;Statementstmt=null;List<String>colNames;Iterator<Map<String,Object>>rSetIterator;publicResultSetIterator(Stringquery){try{Connectionc=getConnection();stmt=c.crea
转载
2012-09-10 00:19:00
60阅读
2评论
上文说由DataImporter类进一步处理,DataImporter类的简要代码如下/************************************************************************Module:DataImporter.java*Author:Administrator*Purpose:DefinestheClassDataImporter***********************************************************************/importjava.util.*;/**@pdOid6bcd
转载
2012-09-09 17:59:00
44阅读
2评论
上部分的代码还可以进一步优化,主要是构建Collection<SolrInputDocument> 集合,分批次提交,优化新增索引速度其实分页方式也是分批次提交的,不过这种方式 更优雅参考如下代码
import java.io.IOException;import java.net.MalformedURLException;import java.sql.ResultSet;imp
转载
2012-09-10 03:19:00
66阅读
2评论
上文solr dataimport源码主要实现的是数据读取功能下面我们接着看数据连接的实现的源码:privateConnectiongetConnection()throwsException{longcurrTime=System.currentTimeMillis();if(currTime-connLastUsed>CONN_TIME_OUT){synchronized(this){ConnectiontmpConn=factory.call();closeConnection();connLastUsed=System.currentTimeMillis();returnconn
转载
2012-09-10 00:21:00
34阅读
2评论
在solr dataimport 数据导入源码分析(五)提到了contextimpl类调用DataImporter对象获取数据源contextimpl.javaprivateDataSourceds;privateDataImporterdataImporter;@OverridepublicDataSourcegetDataSource(){if(ds!=null)returnds;if(entity==null)returnnull;if(entity.dataSrc==null){entity.dataSrc=dataImporter.getDataSourceInstance(enti
转载
2012-09-10 00:18:00
91阅读
2评论
我们查看DocBuilder类的源码发现,并不是直接持有对SqlEntityProcessor类的引用,而是另外一个包装类EntityProcessorWrapper,EntityProcessorWrapper直接继承自抽象类EntityProcessor,而不是继承自中间的EntityProcessorBase类,简要类图如下包装类额外添加了缓存处理以及格式转换等功能,然后调用SqlEntityProcessor相应方法进行处理,相当于SqlEntityProcessor的代理类,共同继承自抽象类EntityProcessor(SqlEntityProcessor 是通过EntityPro
转载
2012-09-09 19:05:00
57阅读
2评论