君子博学而日参省乎己 则知明而行无过矣

博客园 首页 新随笔 联系 订阅 管理
上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 107 下一页

2012年9月15日 #

摘要: 转载http://tenyears.iteye.com/blog/40489 格式化处理从JDK1.4开始,Java的标准库中就包含了NIO,即所谓的“New IO”。其中最重要的功能就是提供了“非阻塞”的IO,当然包括了Socket。NonBlocking的IO就是对select(Unix平台下)以及 WaitForMultipleObjects(Windows平台)的封装,提供了高性能、易伸缩的服务架构。说来惭愧,直到JDK1.4才有这种功能,但迟到者不一定没有螃蟹吃,NIO就提供了优秀的面向对象的解决方案,可以很方便地编写高性能的服务器。话说回来,传统的Server/Client实现是基 阅读全文
posted @ 2012-09-15 16:58 刺猬的温驯 阅读(412) 评论(0) 推荐(0)

2012年9月14日 #

摘要: Faceted search has become a critical feature for enhancing findability and the user search experience for all types of search applications. In this article, Solr creator Yonik Seeley gives an introduction to faceted search with Solr.By Yonik SeeleyWhat is Faceted Search?Faceted search is the dynamic 阅读全文
posted @ 2012-09-14 23:42 刺猬的温驯 阅读(526) 评论(0) 推荐(0)

2012年9月11日 #

摘要: 转载http://flym.iteye.com/blog/723430前缀时间在使用Jackrabbit作非结构化内容的存取,当问到当存取一个word文档时,jackrabbit能不能对word文档里面的内容作全文检索呢。回去查了一下相关的文档,是可以的,而且用的是一个叫Tika的工具。 Tika原先是一个Lucene的子项目,即对内容作元数据抽取用。更多的时候,是对一个平时所用的文档类数据作信息的进一步读取,这些信息是隐藏在文档本身的。这就要求有一个统一的工具来做这些事情,而Tika就提供了一个统一的调用接口来完成这些工作。 Tika通过一个parser和一个contentHandler来进 阅读全文
posted @ 2012-09-11 23:19 刺猬的温驯 阅读(1180) 评论(0) 推荐(0)

2012年9月10日 #

摘要: Tika是一个内容抽取的工具集合(a toolkit for text extracting)。它集成了POI,Pdfbox并且为文本抽取工作提供了一个统一的界面。其次,Tika也提供了便利的扩展API,用来丰富其对第三方文件格式的支持。在当前的0.2-SNAPSHOT版本中, Tika提供了对如下文件格式的支持:PDF - 通过PdfboxMS-* - 通过POIHTML - 使用nekohtml将不规范的html整理成为xhtmlOpenOffice 格式 - Tika提供Archive - zip, tar, gzip, bzip等RTF - Tika提供Java class - Cla 阅读全文
posted @ 2012-09-10 17:47 刺猬的温驯 阅读(2048) 评论(0) 推荐(0)

摘要: 上部分的代码还可以进一步优化,主要是构建Collection<SolrInputDocument>集合,分批次提交,优化新增索引速度其实分页方式也是分批次提交的,不过这种方式 更优雅参考如下代码importjava.io.IOException;importjava.net.MalformedURLException;importjava.sql.ResultSet;importjava.sql.ResultSetMetaData;importjava.sql.SQLException;importjava.sql.Types;importjava.util.ArrayList;i 阅读全文
posted @ 2012-09-10 03:19 刺猬的温驯 阅读(512) 评论(0) 推荐(0)

摘要: 我写这系列solr数据导入源码分析主要是解决我们在编程方式导入数据库数据的时候,怎么解决大数据集导入索引的内存溢出问题的如果数据表的数据不大,用常规方法不会产生内存溢出的问题,当数据表数据上千万级的时候,可参考solr自带的数据导入方式我刚开始用编程方式添加solr索引的时候,很容易产生内存溢出问题,所以我就想考究solr自带的数据导入是怎么处理大数据集索引添加的;网上一些参考的方法通常是采取类似数据分页的方式,个人感觉比较拙劣,并且在针对不同数据库的时候,采取类似数据分页方式还要考虑不同数据库分页方式的差异(数据库方言),而且容易出现性能等问题。我的处理方式如下DatabaseResourc 阅读全文
posted @ 2012-09-10 00:57 刺猬的温驯 阅读(898) 评论(0) 推荐(0)

摘要: 上文solr dataimport源码主要实现的是数据读取功能下面我们接着看数据连接的实现的源码:privateConnectiongetConnection()throwsException{longcurrTime=System.currentTimeMillis();if(currTime-connLastUsed>CONN_TIME_OUT){synchronized(this){ConnectiontmpConn=factory.call();closeConnection();connLastUsed=System.currentTimeMillis();returnconn 阅读全文
posted @ 2012-09-10 00:21 刺猬的温驯 阅读(688) 评论(0) 推荐(0)

摘要: 数据读取类 JdbcDataSource.javaResultSetIterator是JdbcDataSource的内部类,用于从数据库读取数据privateclassResultSetIterator{ResultSetresultSet;Statementstmt=null;List<String>colNames;Iterator<Map<String,Object>>rSetIterator;publicResultSetIterator(Stringquery){try{Connectionc=getConnection();stmt=c.crea 阅读全文
posted @ 2012-09-10 00:19 刺猬的温驯 阅读(652) 评论(0) 推荐(0)

摘要: 在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 阅读全文
posted @ 2012-09-10 00:18 刺猬的温驯 阅读(641) 评论(0) 推荐(0)

2012年9月9日 #

摘要: DocBuilder类的简要代码如下,通过传入context参数到EntityProcessorWrapper类的构造函数,然后执行EntityProcessorWrapper的init()方法初始化数据源;然后调用EntityProcessorWrapper的相关方法获取数据(全部导入或增量导入数据)publicclassDocBuilder{privatevoiddoFullDump(){buildDocument(getVariableResolver(),null,null,root,true,null);}privatevoiddoDelta(){Set<Map<Stri 阅读全文
posted @ 2012-09-09 23:17 刺猬的温驯 阅读(487) 评论(0) 推荐(0)

上一页 1 ··· 59 60 61 62 63 64 65 66 67 ··· 107 下一页