solr/lucene在中文搜索使用中,会输出非常多的类似下面的内容:

2012-04-24 00:00:01,396 INFO
[org.apache.solr.core.SolrCore] – [XXXX-0] webapp=null path=/select
params={q=status:0+AND+(img_file_id:(++12333018751568476))&timeAllowed=2000sort=gmt_create+desc&rows=60&start=0}
hits=44 status=0 QTime=0



有些标点符号以及一些特殊字符在不同版本、不同环境下会有所不同,不影响总体统计分析结果
grep(GNU
grep)2.5.1
脚本解释

grep ‘webapp’ $1  //接受参数
在命令行下 执行  ./jiaobenName.sh
query.log
| awk ‘{print $9}’ // 提取patch
之后的内容
| awk -F “&”
‘{print $1}’ // 提取patch中查询串,去掉其他条件信息
| echo -e “$(sed ‘s/+/ /g;
s/%/\x/g’)”  // decode log
| sed
‘s/[!-~a-zA-Z0-9=_:|-]/ /g’  //英文部分用空格替换
| sed ‘s/ /n/g’ | grep -v
‘^$’  //空格用n 替换,并去掉重复n
| awk ‘{count[$0]++} END
{for(k in count) print count[k],k}’
//统计单词词频
| sort -k1
-nr  //按照词频降序
>
“/home/yingyuan.lyq/tw_$1″ //最终结果保存路径

#! /bin/sh
if [ -z "$1" ]
then
echo “need file”
exit 1
fi
grep ‘webapp’ $1 | awk ‘{print
$9}’ | awk -F “&” ‘{print $1}’ | echo -e “$(sed
‘s/+/ /g; s/%/\x/g’)” | sed ‘s/[!-~a-zA-Z0-9=_:|-]/ /g’ | sed
‘s/ /n/g’ | grep -v ‘^$’ | awk ‘{count[$0]++} END {for(k in count)
print count[k],k}’ | sort -k1 -nr >
“/home/yingyuan.lyq/tw_$1″