时间:2015-01-24 来源:

IKAnalyzer如何自定义远端词库【编程语言】

      IKAnalyzer1.3.4要自定义我们自己的词库web切图报价,而且我们可以随时新增分词,web切图报价网上查了一圈没有相关资料,psd转html看来只有自己搞定了.这里大家需要熟悉HTTP协议中的Last-Modified、ETags这些概念,html切图制作这样能更容易理解IKAnalyzer作者的设计思路.

      观察了下IKAnalyzer分词器的配置文件IKAnalyzer.cfg.xml发现其中有这样一个选项:

    public void reLoadMainDict(){     logger.info("重新加载词典...");         loadMainDict();         loadStopWordDict();     }

        可是,html切图我发现IKAnalyzer的这个获取分词的动作只是在启动的时候去访问我写的Controller.很显然这是不行的,wap前端外包这就违背了我随时新增分词的愿望了web前端制作,看来我要扩展这个分词器了.于是我开始从头翻这个开源分词器的源码,web前端制作我在Dictronary最后找到以下的代码承接网页制作,顿时让我眼前一亮:

       这里还可以再优化,div前端切图这是后话了web切图报价,有了这个思路其余的都是锦上添花.

        顾名思义,web切图报价这个是重载分词的.于是我问自己符合w3c标准,什么时候重载?如何重载?于是我搜了下,符合w3c标准最后再Monitor这个类下找到run这个方法网页外包接活,这是Monitor实现Runnable接口的,jpg或psd转html在这个方法里这个分词器先去构造httphead,并且带上If-None-Match、If-Modified-Since这俩参数去访问Controller(关于这俩参数的概念,web前端制作大家可以上网查),然后根据返回来的response的head里的Last-Modified和ETags来和Monitor缓存的变量进行比较,承接网页制作如果任何一个不相同就需要重新访问Controller中去获取数据web切图报价,说到这里可以总下:可以在服务端(Controller)中设置这俩变量,网站div+css来控制IKAnalyzer是否重新加载分词.OK,而且作者做了注释说这个就是扩展远程词典的.于是打开IKAnalyzer的源码查看网页外包接活,最后在Dictronary这类下找到这个方法:getRemoteWords.经过查看发现其实用的是HttpClient去获取分词.于是我就用SpringMVC写了个Controller来解决.这里要注意:每个分词之间要使用换行符即“\r\n”来分割,wap前端外包貌似问题圆满解决web前端制作, HttpServletResponse response) {          String result = "";          StringBuilder sb = new StringBuilder();          List<Word> wordList = wordService.selectAllWord();//获取所有分词承接网页制作,这里可以改进使用缓存等.          String eTag = request.getHeader("If-None-Match");          Long modified= request.getDateHeader("If-Modified-Since");          //设置头          if(null == modified || -1 == modified) {               //如果没有,承接网页制作则使用当前时间                modified = System.currentTimeMillis();          }          / /设置头信息.          String oldEtag = wordList.size() + "";          response.setDateHeader("Last-Modified", wordList.size() + "");          if(!oldEtag.equals(eTag)) {               //拼装结果               for(Word tempWord : wordList) {                    //分词之间以换行符连接                    if(StringUtils.isNotEmpty(sb.toString())) {                             sb.append("\r\n");                    }                   sb.append(tempWord.getValue());               }                result = sb.toString();                //更新时间                response.setDateHeader("Last-Modified", System.currentTimeMillis());         }         return result; }

点击次数:3783
作者:
web前端行业资讯
Web new NewsList
微软发布WindowsServerBuild17074更新 ,,2018年01月18日凭借一个AI小功能,这款Google应用冲上苹果AppStore榜首 ,,2018年01月18日百度数据可视化实验室正式成立,发布深度学习可视化平台VisualDL ,,2018年01月18日OpenAI开源最新工具包,模型增大10倍只需额外增加20%计算时间 ,,2018年01月18日百度手机输入法8.0正式发布:支持多人语音速记 ,,2018年01月18日CSDN宣布收购TinyMind团队并升级为AI社区 ,,2018年01月18日甲骨文发布补丁修复英特尔芯片漏洞造成的问题 ,,2018年01月18日权威!官方发布CPU熔断和幽灵漏洞防范指引:附补丁下载 ,,2018年01月18日Oracle宣布新的JavaChampions ,,2018年01月18日Fedora28壁纸征集活动现已开幕:将持续至2月13日 ,,2018年01月18日苹果WebKit团队发布Speedometer2.0网页响应测试工具 ,,2018年01月18日百度输入法8.0后天发布:全感官AI输入 ,,2018年01月18日腾讯和乐高合作:共同研发智能玩具、游戏 ,,2018年01月18日HomePod上市日益临近智能音箱市场吸引力越来越大 ,,2018年01月18日英特尔公布修补漏洞后PC性能数据:8代CPU影响最小 ,,2018年01月18日云存储公司Dropbox秘密提交IPO申请估值超百亿美元 ,,2018年01月18日iPod之父:防手机上瘾无技术难度苹果谷歌应承担责任 ,,2018年01月18日芯片不安全英特尔云客户考虑转用AMD等对手处理器 ,,2018年01月18日2018年Java展望 ,,2018年01月18日区块链有多火?快播流量矿石遭20多万人疯抢 ,,2018年01月18日Intel搞定神经拟态芯片:模拟人类大脑、自主学习 ,,2018年01月18日阿里巴巴发布IoTConnect开放连接协议,盼推动语音互动入口普及 ,,2018年01月18日区块链火了,全球大佬们怎么看? ,,2018年01月18日Facebook正测试新功能主推本地新闻资讯 ,,2018年01月18日在GooglePlay中发现使用Kotlin开发的安卓恶意软件 ,,2018年01月18日VisualStudio201715.6预览版本2,增加新功能 ,,2018年01月18日百度陆奇:AI是5G最好的加速器 ,,2018年01月18日PinterestCEO:不同于谷歌和Facebook,我们走了第三条路 ,,2018年01月18日腾讯加码区块链项目已悄然注册“以太锁”商标 ,,2018年01月18日3D打印脑组织?科学家正在向这一目标正在前进 ,,2018年01月18日题目1:骨牌覆盖问题·二(矩阵快速幂+分析状态的表示+题目的提示分析很好很经典)【移动开发】2015年04月24日Linux内核漏洞浅析2014年01月29日网页链接检查,LinkChecker8.0发布, ,,2016年06月23日DatabaseDesignforSexbaleForum 【移动开发】2015年03月18日HDU5310HiddenString(暴力枚举)【编程语言】2015年07月27日jQuery弹出窗口完整代码(居中,居左,居右)2014年01月29日手机也需“绿色环保”,省电类APP或将成为“标配”?【Web前端】2014年11月26日SharePoint开发-使用Session(代码修改webconfig) 【互联网】2014年12月22日JDBC编程——缺少Mysql驱动的解决方法 【编程语言】2015年01月26日LintCode-装最多水的容器 【系统运维】2015年05月19日相邻元素差的绝对值都是1,在这样的数组中找目标元素 【编程语言】2015年01月19日ASP.NETjQuery实例6(实现CheckBoxList成员全选或全取消)2014年01月29日直接内存和堆内存的性能比较 【编程语言】2015年06月02日实现只能输入数字的input不用replace方法2014年01月29日SpringMVC返回JSON格式2015年01月19日Android阻挡了Google拥抱HTML5的步伐? ,,2016年06月29日java语言实现创建型设计模式—单例模式 【移动开发】2015年05月05日美国海军(NPS)的OSG教程——示例代码一【互联网】2015年01月27日谨慎Asp.net中static变量的用法 【综合】2015年03月27日Bootstrap_栅格系统【编程语言】2014年11月26日(行为型模式四)访问者模式 【Web前端】2015年04月28日POJ3904SkyCode【容斥原理】【编程语言】2015年08月14日PHP监测memcache服务端的运行状况 【编程语言】2014年11月04日马踏棋盘--深度优先搜索 【编程语言】2015年04月09日如何给随机数加密2014年01月30日css浏览器不兼容原因分析及解决办法2014年01月29日python函数简介 【编程语言】2015年03月12日HDU1536(sg博弈)S-Nim 【编程语言】2015年08月16日iphone手机尺寸汇总 【编程语言】2015年05月11日js加强的经典分页实例2014年01月29日
我们保证
We guarantee
> psd效果文件手工切图,保证图片效果最好体积最小利于传输
> 100%手写的HTML(DIV+CSS)编码,绝对符合W3C标准
> 代码精简、css沉余量小、搜索引擎扫描迅速,网页打开快捷
> 应用Css Sprite能够减少HTTP请求数,提高网页性能
> 跨浏览器兼容(IE6、7、8、9,Firefox火狐,Chrome谷歌)