单文件、无三方依赖、支持在线规则升级、非标准协议的URL关键词提取工具。
<dependency>
<groupId>com.ecfront</groupId>
<artifactId>keyword-extract</artifactId>
<version>1.6</version>
</dependency>
// 关键词提取
KeyWordExtract.Result result = KeyWordExtract.extract(url);
// 使用在线规则
KeyWordExtract.loadOnlineRules("https://raw.githubusercontent.com/gudaoxuri/keyword-extract/master/src/main/resources/kwe-rules.txt");
本地规则文件默认已打到jar中,如要修改可在classpath根目录中创建kwe-rules.txt
文件,此文件会覆盖默认规则。
使用在线规则会覆盖自定义规则。
# 一行一条规则,配置项以|分隔 # 规则分一般规则和自定义规则,后者使用js代码处理 # 一般规则 <名称>|<host>|<关键字所在位置,query:查询条件中,path:url路径中>|<对于query位置指定关键字的key,对于path位置指定以/分隔的偏移量>|<解码方式,目前只支持decodeURI,空>|<编码> e.g. : 百度|www.baidu.com|query|wd|decodeURI|UTF-8 搜狗微信|weixin.sogou.com|query|query|encodeURI|UTF-8 苏宁|search.suning.com|path|0|decodeURI|UTF-8 # 自定义规则 <名称>|<host>|<js代码,入参为uri,返回值为result> e.g. : 微博|s.weibo.com|var uri = decodeURI(decodeURI(uri)); var kv = uri.split("/")[2]; result = kv.split("&Refer=")[0]; # 自定义协议支持 app://app1/somepath?q=URL关键词提取 custom://custom1/somepath?q=URL关键词提取