前言
Jcoder的起源,是我在上一家公司酷云互动做的一个动态代码平台,当时的设计超级复杂,但是的确解决了我们很多线上的问题,最近我想把分词提供一些restful api接口来做到静动分离,这样不用每次更新分词都要重启整个网站,于是想重新写一下这个家伙,在心里大致分析了下需求,从此一发不可收拾,基本上重写了所有的模块。增加了一些比如动态加载jar包,ioc管理,资源文件,上传等实用功能,去掉了分布式,数据库依赖,等过重的功能。吹的再好终究要落地的。下面我和大家一起尝试利用jcoder来做一个分词服务,jcoder的项目地址:https://github.com/NLPchina/Jcoder 为了装逼需要。全写的pinyin。不是用我最擅长的中文,如果看着费劲你可以参看本文章
准备开发环境
https://github.com/NLPchina/Jcoder/releases 从这里下载最新的jcoder开发版本,安装jdk8,安装maven
添加配置文件: 你可以从这找到一个模板coder.conf
#访问后台的所用的主机名,对于需要开放外网接口,但是管理后台内网使用很有用。保证安全
host=localhost
#port=8080
#home=~/.jcoder
#maven=mvn
#log=log/jcoder.log
同理这5个参数可以通过命令行传入,我们使用如下参数
java -jar jcoder-1.1.war --home=./jcoder_home --port=9999
好了现在我们启动jcoder
第一次初始化可能会稍慢一点。如果你配置了maven环境。会更慢。大约3分钟后。。。。。
看到这个说明启动成功了登陆及说明
进入页面 http://localhost:9999 ps:我这里是远程主机
登陆页面登陆后我们就进入了后台管理页面
后台管理创建分组
创建一个组来管理分词服务 选择左侧 Group Manager 选择 Add
点击确定,此时左侧列表多出新创建的组
增加依赖Jar(maven方式)
选择 Jar Manager 在Maven 表格上选择小铅笔 :)
进入maven管理配置页面增加你的mvn配置,增加后如下
maven配置选择保存并加载,可以从下方的控制台查看加载过程。
回到maven管理可以看到你新下载的jar文件
话说简书很好用,粘贴图片好贴心。下面就开始写代码的过程了。
构建开发环境
选择左上角DevSDK。下载开发环境
随便选吧。因为我们现在也没有资源文件。点击后会开始一个下载过程。
将下载的zip包解压缩。
以eclipse为例,以创建新项目的方式导入到eclipse。
现在创建我们第一个api
代码如下,简书写代码真的要命。莫非我的打开方式不对?
进入我们刚才创建的额 分词服务 组 然后选择 `Create Task`
把代码粘贴进去,并保存
接口就发布成功了,现在你可以通过api的方式访问接口了,接口格式如下:http://serverName:port/api/[ClassName]/[methodName]?[field]=value
http://www.nlpcn.org:9999/api/SegApi/toSeg?content=%E4%B8%8A%E6%B5%B7%E5%B8%82%E8%99%B9%E6%A1%A5%E5%9B%BD%E9%99%85%E6%9C%BA%E5%9C%BA
上面是json的返回格式。你希望返回头是text,请求地址变为http://www.nlpcn.org:9999/api/SegApi/toSeg?content=%E4%B8%8A%E6%B5%B7%E5%B8%82%E8%99%B9%E6%A1%A5%E5%9B%BD%E9%99%85%E6%9C%BA%E5%9C%BA&_callback=fun
如果你需要jsonp。解决跨域问题。变为
好了一切都很美好。我们可以增加第二个api。用nlpanalysis进行分词
编辑api如下并保存
访问地址http://www.nlpcn.org:9999/api/SegApi/nlpSeg?content=%E4%B8%8A%E6%B5%B7%E5%B8%82%E8%99%B9%E6%A1%A5%E5%9B%BD%E9%99%85%E6%9C%BA%E5%9C%BA&_callback=fun
ok一切都如此的美好。没有重启。所见即所得!
当然还有资源文件发布。控制台等下次一我们来解释。写了这么多。希望对你有帮助。
网友评论