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

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);

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(关键字)