`
mozhenghua
  • 浏览: 319187 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
文章列表
█如何做到war包不deploy module工程下面有一个war包,而在发布module的时候是不需要将war包deploy到maven的仓库中的,所以要在pom的deploy插件中加一个参数,如下: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-deploy-plugin</artifactId> <version>2.8.2</version> <configuration> ...
    趁着这次做网聚宝搜索服务化这个项目,体验了一下阿里云的重量级云产品ODPS,也就是传说中的云梯2。项目几近结束,现在回过头来看当初选择使用OPDS的决定还是相当正确的,ODPS在网聚宝搜索上云这个项目中起到了非常至关重要的作用,一句话总结:ODPS是非常靠谱的。从刚开始里了解ODPS开始,到引入项目中使用,进而通过优化加速在项目中使用得游刃有余,经历了一个过程,中间也走了不少弯路。在此将之前碰到问题点做一下总结,希望对有和我们一样需求的团队或者个人有所帮助。   终搜为什么选择ODPS     搜索引擎都是为了解决业务方数据多维度随意组合的条件搜索的需求,终搜的产品也不例外 ...
      最近对Groovy语言全面地学习了一下,语言本身因为加入了闭包,自动生成property机制,让其有别于Java,代码本身可以写得比较精简。Groovy具有很多Java所不具备的特性,其中最有意思的特性之一就是动态性。       说到动态语言最长使用的就是Javascript,在代码中可以使用eval函数动态拼接字符串,组装执行函数。       这里我向大家介绍一个在项目中使用Groovy语言动态性的实际案例,在案例中一开始由于没有经验没有合理使用Groovy的脚本,走了弯路,一并介绍,希望大家也避免犯同样的错误。  
    之前在学习erlang OTP的时候,看到在OTP中实现了工人-监工模式,就是在定义一个工作者进程的时候,同时为器分配了一个overseer(监工),监工啥事儿也不作,就专门负责工作者进程是否正常工作,有无任务异常情况发生,当时看到在机制觉得不以为然觉得就这么几行代码没什么大不了的。       当我最近用java代码来实现分布式编程的时候发现要做一个稳定的,可靠的系统并不是那么容易,之前在单机系统中默认不会不会出任何问题的共享变量操作,进程间通信。在分布式系统中zookeeper锁操作异常,远程socke长连接断连,一切都变得不是那么可靠了,甚至要默许这种异常成为常态。   ...
            在现有的终搜框架之下如果业务方需要在document文档中设置multivalued的属性,例如淘宝房产有这样的需求,每一个房产小区,都有不同面积的户型,比如有40方、60、90、150方的户型。 在实际使用中查询列表页面会根据户型的大小给所有小区的在售房源分类,比如:会查询有40方房子的小区,或者有60方房子的户型,或者查询有50至100方房源的楼盘。         做之前可以先和业务方协定好存放多值字段在dump文件中的格式,比如可以使用逗号分隔(用啥分隔无所谓只要能识别就行了),淘宝房产的多值字段名字是roomSize,dump源文件中的内容可以是 40,5 ...
什么是filtercache?     solr应用中为了提高查询速度有可以利用几种cache来优化查询速度,分别是fieldValueCache,queryResultCache,documentCache,filtercache,在日常使用中最为立竿见影,最有效的应属filtercache,何谓filtercache?这个需要从一段solr的查询日志开始说起,下面是我截取的solr运行中打印的一段查询日志: [search4alive-0] Request_is ==> q=status%3A0++AND+biz_type%3A2+AND+class_id%3A1&sor ...
    import org.apache.solr.client.solrj.SolrQuery; import org.apache.solr.client.solrj.embedded.EmbeddedSolrServer; import org.apache.solr.client.solrj.response.QueryResponse; import org.apache.solr.core.CoreContainer; /** * @author 百岁(baisui@taobao.com) * @date 2013-8-4 */ public cla ...
       任何时候都不能人云亦云,别人说好的东西必须亲自尝试过之后才会有真切的体会。           对于erlang也是如此,因为自己之前一直是用java开发的,所以自觉不自觉得喜欢用java 和erlang来作比较,不比较还好,一比较之后真的会使自己陷入对erlang的怀疑。          测试1:        erlang执行速度和java比较:       测试内容是,创建1000万个有5个字符的随机字符串。        非常抱歉的高速各位,我测试的结果是erlang慢很多,我真希望是我代码写的有问题。       测试用的服务器是 16核24G内存的 ...
        今天公司技术比武,比赛题目是给一个1.1g的大文本,统计文本中词频最高的前十个词。花了两天用erlang写完了代码,但是放到公司16核的机器上这么一跑,结果不比不知道,一比吓一条。erlang写的代码执行时间花了55秒 ...
      这两天在为一个应用做solr搜索方案定制的过程中,需要用到solr的fieldcache,在估算fieldcache需要的内存容量,缓存中key是int,value是两个64bit大小的long类型数组,数据量大约是8100w,64×8100w/1024/1024,大致需要10G的容量,  然而服务器总共也只有8G内存,实在无法支持这么大容量的缓存数据。               于是开始想是不是可以有其他的替换的方案,可以不需要使用这么大的缓存容量,有能满足缓存的需要。考虑是不是可以将fieldcache中的数据内存存放到硬盘中去,在调用的时候可以通过key值快速计算出 ...
       通过上一篇博客(http://mozhenghua.iteye.com/blog/1830842),我们了解到了如何通过spring来解析如下,只有一个子标签(一对一实体关系)的需求   <tsearcher:parent id="testparent"> <tsearcher:child name="alex" age="12"/> </tsearcher:parent>       那么如果子标签如果有n个(上不封顶)的话(一对多实体关系)有 ...
      经过上两篇博客的学习大伙已经初步了解了mnesia的创建和库内表的创建,已经各种对表的操作。              接下来我们就要了解一下mnesia数据库和其他关系型数据区别最大的特性,就是它的分布式特性。首先需要介绍的是mneisa分布式架构的拓扑图:          通过上图我们可以了解到,先由一个以上的erlang节点组成一个相互之间的对等的master集群,这个master集群中的任何一台master节点宕机的话,都不会影响master集群对外发布的数据服务。master集群中的表需要设置为disc_copies类型的数据表,那么宕机之后恢复节点并且重启 ...
 通过前一篇博已经了解了mnesia数据库如何初始化,如何启动,在这篇博客中你将了解到如何在 mnesia数据库上创建表,并且如何对创建的表进行增删改查操作。     因为创建mnesia数据库过程中需要使用到erlang的record数据结构 ...
最近学习erlang,在erlang中天然集成了一个分布式数据库名字叫mnesia,因为数据库天然就和erlang的元组,记录无缝结合,并且具有良好的分布式特性,能够自动地在几个erlang节点上实现数据复制,效果有点像zookeeper的节点集群,而且mnesia还支持数据库事务特性,所以mnesia在erlang应用中使用得非常频繁。   要在本地创建一个mnesia数据库,并且要实现插入,查询功能需要实现以下这几步: 1.启动erlang节点: erl -mnesia dir '"d://tmp//mnesia"' -sname mynode  以上这个d ...

solr cloud 学习

启动solr cloud ,启动到一半发现抛出这样的异常:ZkController.java第1087行代码 "Could not find configName for collection " + collection + " found:" + configNames        原因在于solr cloud 集群在启动的过程中需要加载zookeeper中的 collections core状态配置信息,因为在zk中还没有初始化,所以启动的时候发现配置信息是空的,solr连续尝试四次之后就会抛一个ZooKeeperException异常。 ...
Global site tag (gtag.js) - Google Analytics