分析 统计模块 关键字的统计

select   t.keyword,count(t.id),substr(t.jampurl,instr(t.jampurl,'.')+1,(instr(t.jampurl,'.',-1)-instr(t.jampurl,'.')-1))
from

data_acquisition_2008_08_11 t

where

t.keyword is not null

and t.keyword not like 'http://%'

group by t.keyword,substr(t.jampurl,instr(t.jampurl,'.')+1,(instr(t.jampurl,'.',-1)-instr(t.jampurl,'.')-1))

 order by count(t.id)  desc

 

 

这段SQL代码是用来统计 关键字的,其中关键字划分两种状态,

  • 一种是从那里过来的由substr(t.jampurl,instr(t.jampurl,'.')+1,(instr(t.jampurl,'.',-1)-instr(t.jampurl,'.')-1)) 得到搜索引擎
  • 一种是这个关键字的点击量由count(t.id)表示

 存在几个问题:关键字可能出现乱码,解决方法案有两个

  1.  重新把原始数据编码
  2. 对出现乱码的舍去

我选择第2种方案,因为不正确数据量不会造成统计影响.

JAVA判断是否是汉字的方法:

方法一

public boolean vd(String str){
     char[] chars=str.toCharArray();
     boolean isGB2312=false;
     for(int i=0;i<chars.length;i++){
                 byte[] bytes=(""+chars[i]).getBytes();
                 if(bytes.length==2){
                             int[] ints=new int[2];
                             ints[0]=bytes[0]& 0xff;
                             ints[1]=bytes[1]& 0xff;
                             if(ints[0]>=0x81 && ints[0]<=0xFE && ints[1]>=0x40 && ints[1]<=0xFE){
                                         isGB2312=true;
                                         break;
                             }
                 }
     }
     return isGB2312;
 }

 

方法二

Matcher m = Pattern.compile("[\u4e00-\u9fa5]").matcher(str);

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值