- 浏览: 8960 次
- 性别:
- 来自: 北京
最新评论
文章列表
快速简单实用的压力测试方法,首先你得有apache等web容器的access.log,然后根据access.log生成压力测试脚本:
生成压力测试脚本:cat access.log | awk '{print $7}' | grep -v "(" | grep -v ")" | awk '{ if(NR%1000==0) {print "sleep 1; date; wget -q http://192.168.0.11"$1 " --output-document=/dev/null &"} else p ...
今天公司项目升级,从SOLR1.4升级到3.6,所有JAR包,配置文件都修改完成部署后,在solr的Analysis进行分词效果查看时,报了一个异常:
SEVERE: org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.NoSuchMethodError: org.apache.lucene.analysis.TokenStream.next()Lorg/apache/lucene/analysis/Token;
at org.apache.jasper. ...
这段时间在项目中又发现lucene的一个问题,例如搜索某一个关键词"愤怒的小鸟太空版",在屏蔽lengNorm全命中的情况下,原则上说score值肯定会一样,但是会出现score值不一样的时候,只是之间的差值很小很小,基本上可以忽略不计,可最终也会影响排序,比如5.232345 5.2323448 之间的差值只有0.0000002。
分析lucene源代码发现是在搜索时候idf值不一样导致了结果的不对,由于修改lucene的源代码不太现实,最后的解决办事是扩展Similarity,将idf值的小数点后4位之后的全部去掉,比如值为:5.2323448,改为5.2 ...
这段时间在项目中我们在使用lucene的时候发现一个问题,例如:
有两个索引域的内容为:新浪微博spring、新浪微博,当我输入"新浪微博"进行搜索的时候,按照lucene的score计算公式,新浪微博的值应该要高,但是实际上两个值却是一样。通过分析源代码发现问题出现的原因是:
lucene在计算lengNorm的时候本身没有错,但是它对lengNorm进行了编码,结果转码的时候会出现错误,比如计算出来的lengNorm为0.4472136,可是经过它内部的编码解码后值却变成了:0.4375,导致计算出来的score值出现误差,代码为NormsWrit ...
Hadoop and Hive
Hadoop的是一个开源的map-reduce实现,使得它可以在进行大数据上进行运算。 Facebook的使用这个进行数据分析(而我们都知道,Facebook已经大量的数据)。 Hive就是发源于Facebook,使得对于Hadoop使用的SQL查询成为可能,从而是其更容易对非程序员使用。
Hadoop和Hive是开源的(Apache项目),有为数众多的追随者,例如雅虎和Twitter。
官网:http://hive.apache.org/
Thrift
Facebook使用的几种不同的语言和不同的services。 PHP是最终用于前端,Erlang是 ...
logback是log4j作者ceki的又一力作,性能比log4j有着更大的提升,在写日志的时候支持预处理操作,比如:
logger.debug("这是{}的{}日志",new Object[]{"我的","第一篇"});
等等性能更高的日志处理方式。其配置也很简单在class目录下配置logback.xml即可:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<property n ...
今天在工作中遇到一个很郁闷的问题,用myeclipse的maven插件mvn install的时候老是失败,报错如下:
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.134s
[INFO] Finished at: Wed Mar 14 15: ...