自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (5)
  • 收藏
  • 关注

原创 我们为什么要造轮子

程序员都喜欢造轮子,我身边的程序员,无论他们用什么语言,java、android、ios、python、go,甚至是js,都热衷于造轮子。其实用go程序员造轮子我倒是能理解,毕竟很多java转go的朋友经常吐槽:怎么这个没有,怎么那个没有。但是java程序员为什么要造轮子呢?但凡你能想到的功能,都有足够多足够成熟的类库给你用,maven在手,天下我有呀。但偏偏java程序员似乎特别喜欢造轮子...

2019-12-29 21:29:33 2209 2

原创 Tomcat 是如何实现keep-alive

http无状态,又是基于tcp,所以每次请求都要握手分手,在频繁的请求来说,很是浪费,且没有必要。于是就有了大家都知道的keep-alive。关于keep-alive的概念,网上一大堆,我就不重复了,盗一张图,描述一下: keep-alive主要靠服务器实现,那么问题来了,作为java程序的主流服务容器,tomcat 是如何实现keep-alive的呢?先看tomcat,以主流的ni...

2019-12-29 21:28:23 903

原创 2018在JAVA之路前行:谈谈近况

3月中旬,我又双叒换工作了。从普华出来,到现在也有差不多四年了,一直不算特别稳定。在通路,做搜索、爬虫,工作内容还可以,团队氛围和同事关系也不错(去年还和通路的离职的同事聚了聚),期间曾有公司约我过去,婉拒,想在通路认真做下去。岂料通路做传统招商,在互联网大潮和线下实体衰落的历史进程种,成为了前浪,死在沙滩上。没法子,离职,去了恺英,做应用分发平台XY拼苹果助手...

2018-04-21 21:32:30 572 1

原创 2017重走solr长征之路:基于solr定制干预性竞价排名

基于solr的二次搜索案例总结此文是总结近期搜索项目开发中的一些经验: - fq和elevate相冲突的问题和解决办法 - 外部条件影响score打分的情况下如何保证title完全吻合的document排名第一fq和elevate相冲突的问题和解决办法solr自带实现竞价排名的方案:如想实现检索手机百度时id为472885640,100027899,100021742,100001057,100

2017-03-09 16:15:09 925

原创 2016重走solr长征之路:solr的多field字段查询

我们做搜索的时候,经常会遇到需要搜索多字段的情况。假设index格式如下: document:{title:”solr的多field字段查询”,content:”solr的多field字段查询********************”,describe:”这是一篇关于solr的技术文章”}。 搜索文章,会到“标题”(title)、“正文”(content)、“简介”(describe)里搜索是否

2016-06-15 18:34:43 4516 1

原创 2016重走solr长征之路:replication主从同步机制

solr/replication的描述在分布式solrcloud的大热之下,solr的主从同步机制似乎被遗忘。其实对于大多数的搜索服务或者数据服务的数量级来说,根本用不上solrcloud,而且solrcloud未必能带来性能的提升。而主从同步机制,配置简单,使用灵活,对环境要求低,往往适用的场景更多。典型的主从复制模式(master/slave)的配置方案solrconfig.xml的配置 ma

2016-01-18 17:31:12 2768

原创 solr5.3.1在tomcat和jetty上安装方案

做搜索方面的工作,一直以来都是使用solr或者直接用Lucene,solr至今使用过3个版本:3.6,4.9.1,5.3.1;在4.9.1的时代,我开始大规模使用solrcloud,感觉只能说还不错。今年,准备再次使用solr,我用软件,一向是买新不买旧。这次直接上当前的最新版:5.3.1 。5.X跟4系3系比,做了不小的改变,这里介绍下solr5.3.1在tomcat下和jetty下运行的方法。介绍的使用场景均为window。

2015-09-30 14:25:57 2045

原创 2015我想和Java聊聊之NIO读写文件

JDK1.4之后,读写文件有了翻天覆地的变化,因为NIO的出现。NIO的原理是对文件进行映射,这样可以读写超大文件而不必担心内存溢出,而且读取速度超快,实测。NIO相关介绍很少,这里不再赘述。举例子来说明实际上的读写逻辑。读:public static String readFileByNIO(String path, int start, int end) { Strin

2015-09-23 18:34:12 485

原创 2015我想和Java聊聊之HashTable和HashMap的区别

之前聊StringBuffer和StringBuilder的区别时候,顺便提到了HashTable和HashMap。实际上,除了线程安全之外,它们之间还有其他很多区别。这个也算个老话题了,在面试界算是老题目了。

2015-04-24 16:41:24 483

原创 2015我想和Java聊聊之StringBuffer是如何保证线程安全的

经常有关String,StringBuffer,StringBuilder之间比较的论调出现,结论通常是单线程情况下StringBuilder性能优于StringBuffer,但StringBuilder是线程不安全的,所以多线程并发编程时候要用StringBuffer。

2015-04-23 09:45:22 2467

原创 堆和栈的探讨以及从创建对象层面来优化程序的常识

知乎上有一个问题,是讨论堆和栈的区别的(http://www.zhihu.com/question/29005517)。只有大牛赵劼引用了一篇英文文献作答。大雾。在CSDN上看了几篇,有所了解。比如这篇:java中堆和堆栈的区别,有理有据,令人信服。栈(stack):是一个先进后出的数据结构,通常用于保存方法(函数)中的参数,局部变量. 在java中,所有基本类型和引用类型都在栈中存储.栈

2015-03-24 17:13:58 411

原创 solrcloud和zookeeper的搭建、使用、心得、教训

公司的solr线上服务器,分成差不多10个core给不同的部门不同的业务需求来使用。我接手以来,问题多多,烦扰多多。有不少问题亟待解决,首当其冲的是搜索准确度、数据同步。搜索准确度已经通过改用ansj分词器和不断优化的个人词库和停用词库来解决,这是个不断优化的过程,需要长时间的跟进才有明显效果。第二个数据同步问题,其实包括了快捷新建搜索core、搜索性能负载、数据同步和宕机恢复等。以前是各种分散的处理方案。数据同步我自己写了个rest的webservice接口来分别实现,宕机恢复甚至只能手工处理,性能负载是

2015-01-26 16:45:12 2310 1

原创 nutch1.6与mongoDB的轻度结合

nutch采集后的数据,以hadoop数据结构的形式保存,不方便直观的调用,虽然有对应的读取接口,但是可读性依然较差。nutch2.0已经在整合mysql等方面有很多优异表现。不过应对大数据场景下,mysql性能实在不容乐观。最近做贝叶斯算法,数据大范围的迁移到mongoDB,于是针对nutch1.6做轻度的二次开发,将爬取下的数据另存一份到mongoDB.。当然这个是轻量级的,重量级的应该是nutch全过程的写入和存储都指向到mongoDB。

2015-01-26 16:14:50 718

原创 IKanalyzer、ansj_seg、jcseg三种中文分词器的实战较量

摘要:选手:IKanalyzer、ansj_seg、jcseg硬件:i5-3470 3.2GHz 8GB win7 x64比赛项目:1、搜索;2、自然语言分析 选手介绍:  1,IKanalyzer  IKanalyzer采用的是“正向迭代最细粒度切分算法”,是比较常见而且很容易上手的分词器了。一般新手上路学习lucene或者solr都会用这个。优点是开源(其实java

2015-01-26 11:09:23 2984

原创 java.lang.IllegalArgumentException: Wrong FS错误解决

[size=large]在nutch爬取数据存放在hdfs时候报错:Exception in thread "main" java.lang.IllegalArgumentException: Wrong FS: hdfs://192.168.130.54:19000/user/hmail/output/part-00000, expected: file:/// 把hadoop集群的配置...

2015-01-14 15:06:39 2601 2

原创 webdriver in action(两年多以来的零碎使用经历)

写于2015年1月14日    我讲的经历是我个人的,也许与别人有雷同;我讲的技术,更是到处都可以搜到。写下这篇文字,目的在于记录,在于备忘。废话不多说,直接上干货。开发经历:    2013年年初,有个项目爬取ICP备案查询网站的信息,当时用到httpclient,可是这个网站需要突破验证码,甚为麻烦,所幸验证码较为简单,于是在tesseract基础上二次开发了一套识别验

2015-01-14 14:32:41 1300

原创 将博客搬至CSDN

[size=large]ITeye用起来越来越麻烦,我的账号是CSDN的,每次需要先登录CSDN再登录ITeye,麻烦得很。今天终于想开了:搬家到CSDN!未来有时间也会考虑备份日志在ITeye和博客园。[/size]...

2015-01-14 13:56:59 82

原创 重走MapReduce之路之报错java.lang.ClassNotFoundException

[size=large]String[] ioArgs = new String[] {"/usr/local/hadoop/hadooptmp/input/", "/usr/local/hadoop/hadooptmp/outdata"};在Myeclipse上直接运行Mapreduce项目会报错 java.lang.ClassNotFoundException: com.had...

2015-01-12 15:10:18 257

原创 IKanalyzer、ansj_seg、jcseg三种中文分词器的实战较量

[size=large]选手:IKanalyzer、ansj_seg、jcseg硬件:i5-3470 3.2GHz 8GB win7 x64比赛项目:1、搜索;2、自然语言分析 选手介绍:  1,IKanalyzer  IKanalyzer采用的是“正向迭代最细粒度切分算法”,是比较常见而且很容易上手的分词器了。一般新手上路学习lucene或者solr都...

2015-01-06 13:05:53 255

二次开发nutch的恩恩怨怨

[size=large] 今天下午,总算用脚本把自己二次开发的nutch跑起来了。从第一次接触nutch到现在,一年半接近两年的时间了。从开始的一无所知、凑合着用到后来的尝试梳理、阅读源码、放弃使用再到今年的坚定信念来攻克以至今日可以随意的修改满足自己的需求,心理历程不可谓不复杂。 nutch并不是很高深的技术,但是基于hadoop的mapreduce运算不禁让人生畏,敬而远之。我...

2014-09-29 18:05:16 130

confluence5.3.4的安装、破解、汉化(附下载地址)

[size=large]公司需要一个比较好用的wiki工具,之前研究了xplanner,开源,方便搭建,但是界面实在简陋得无法接受;然后是scrumwork pro,这个算是scrum敏捷开发工具里相当有名的了,千辛万苦给破解安装了,可以缺点明显:1是没有汉化,2是需要swing运行,占内存体验差。本来这块任务已经搁置,前几天总监推荐了下confluence,了解了一下,发现不错,遂花一天时间完成...

2014-09-26 17:05:10 282 1

window下自定义定时关机和定时重启的脚本

[size=large]window下用shutdown命令可以实现定时关机、重启等功能,效果很好,但是对于普通用户来说过于麻烦,毕竟不是每个人都愿意敲命令行。因此我写了一个脚本,可以轻松实现这些功能。双击附件里的shutdown.bat依照指引即可。该脚本的优点是人性化的提示,全程辅助,只需极少的输入极个别电脑可能运行无效,修改注释即可,bat下注释命令为rem[/size][c...

2014-09-26 16:46:33 515

....离

[size=large] 中秋节的前一天,生了一场病,肚子坏了,浑身不舒服,躺在床上,望着石灰板咬牙切齿。翻来覆去发现自己现在只有刷知乎这个爱好。张公子的书上市好久了才买。京东发货速度很快,拆开后满心的喜欢,很漂亮的书腰,纸质跟我想象的一模一样。张公子的字跟梁实秋有得一比,写吃写玩,都有滋有味,看得让人觉得生活真美好。 还买了一本高晓松的《如丧》,这胖子的《晓说》我是一直看的,优酷...

2014-09-17 15:51:45 381

swing开发桌面软件的心理历程

[size=large] 这段时间,搞定搜索之后,技痒之下,决定写了本地检索工具玩玩。于是捡起了swing.其实最初是想用c#的,语法和java类似,较为简单,入门也很快,只是自己用java很久,自谓精通,轻易用一门不擅长的语言,难言明智。swing用起来也很方便,搭载皮肤后界面也能看得过去。于是大约花掉接近一周的业余时间,搞定了一个检索查询器。下载地址会在文末放出。这一周开发到最后,...

2014-08-11 14:50:05 115

原创 solrcloud编辑zookeeper上的配置文件的方法

[size=large] solrcloud的配置文件是上传在zookeeper文件系统上的。这样就面临一个问题,每次需要修改配置文件,就没有只有之前本地单机solr那么简单,需要上传。 搭建solrcloud时候提交配置文件的脚本是:java -classpath .:/usr/local/tomcat7/webapps/solr/WEB-INF/lib/* org.ap...

2014-07-22 14:21:38 378

原创 solrcloud和zookeeper的搭建、使用、心得、教训

[size=medium] 公司的solr线上服务器,分成差不多10个core给不同的部门不同的业务需求来使用。我接手以来,问题多多,烦扰多多。有不少问题亟待解决,首当其冲的是搜索准确度、数据同步。搜索准确度已经通过改用ansj分词器和不断优化的个人词库和停用词库来解决,这是个不断优化的过程,需要长时间的跟进才有明显效果。第二个数据同步问题,其实包括了快捷新建搜索core、搜索性能负载、数据...

2014-07-18 18:11:20 257

原创 linux ssh相关问题汇总

1 ssh登陆验证很慢,需要很久才提示输入密码原因:系统开启了DNS反向解析解决方法:# vi /etc/ssh/sshd_config UseDNS no # /etc/init.d/sshd restart 2 putty等软件远程登陆很慢在文件resolv.conf里定义了DNS服务器的IP地址,这里如果有ping不通的地址,就要花费时间在这里,所以把...

2014-07-16 13:54:56 84

linux的scp命令以及破解验证的方法

工欲善其事,必先利其器。linux上,开挂一样的命令就是利器。这里说下无敌好用的scp命令,什么ftp真心弱爆了有木有。命令格式: 复制文件:scp local_file remote_username@remote_ip:remote_folder 复制文件并且命名:scp local_file remote_username@remote_ip:remote_file复制文件夹...

2014-07-15 15:56:14 539

原创 新版 搜索 日志记录

[size=large]在本人工作期间,会不断更新优化公司的搜索!2014年8月4日,搜索BUG修复:java.lang.UnsupportedOperationException2014年8月1日,搜索BUG修复:修复ansj索引分词排序错误导致快速高亮出错的问题2014年7月29日,搜索BUG修复:带有html标签的字段高亮bug的修改分词接...

2014-07-11 16:08:37 87

原创 ansj分词器和solr结合的零零碎碎

[size=large]在solr4.8使用的章节里我讲了很多有关ansj分词器的用法以及相关描述和个人看法。这里新开一篇专门描述。传送门:https://github.com/ansjsun/ansj_seg/作者是个年轻的技术男,github上有他的微博,可以和他沟通交流问题(加粉吧,虽然微博现在不流行了,但是这么好的分词器的作者才800多粉丝看着心疼)。ansj最新版下载...

2014-07-09 17:11:40 110

solr4.8的安装,配置,使用,搜索,推荐及看法

solr4.9发布了,用一个网友的意思,现在solr绝壁是Firefox之外最大的版本帝。公司的solr版本是4.0,这几天决定给升级到4.8(4.9在maven上资源还不够),抽时间在整理下分布式solr. 今天先把solr4.8安装过程写下来,其实和4.0区别不大。1,环境必须是tomcat7.0以上,jdk7.0以上,jre7.0以上,且配置好环境变量;2,exampl...

2014-07-08 09:56:15 132

中文分词词典(按长度分为2/3/4/5四个文件)

中文分词词典。按照长度分成2/3/4/5四个文件,剔除稀有冷门的词,适合常规的项目开发使用。本人项目中就在使用。好用不贵!

2016-07-08

中文拼音分词器

针对中文进行修改的拼音分词器,很强大,支持首字母搜索、全拼搜索,首字母+全拼搜索!配置如下:<fieldtype name="text_pinyin" class="solr.TextField"> <analyzer type="index"> <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" useSmart="true" /> <filter class="home.rong.joker.pinyin.solr.PinyinTokenFilterFactory" pinyinAll="true" minTermLength="2" /> <filter class="home.rong.joker.pinyin.solr.PinyinNGramTokenFilterFactory" nGramChinese="true" nGramNumber="true" /> </analyzer> <analyzer type="query"> <tokenizer class="org.wltea.analyzer.solr.IKTokenizerFactory" useSmart="true" /> <filter class="home.rong.joker.pinyin.solr.PinyinTokenFilterFactory" pinyinAll="true" minTermLength="2" /> <filter class="home.rong.joker.pinyin.solr.PinyinNGramTokenFilterFactory" nGramChinese="true" nGramNumber="true" /> </analyzer> </fieldtype>

2015-11-19

支持solr5.x和lucene5.x的jcseg分词器,亲测可用!

基于狮子的心的jcseg分词器,并优化部分功能,完美支持solr5.x和lucene5.x,本人是solr5.3,亲测可用。jcseg.properties使用原生的即可。本人还有pinyin拼音分词器资源,可以查看我的资源里。

2015-11-19

zeroclipboard-1.0.7.tar.gz

zeroclipboard-1.0.7.tar.gz

2012-02-15

iframe控制实例

iframe控制实例,一个简单的例子来介绍,与JS,CSS有关

2011-12-30

空空如也

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

TA关注的人

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