搭建一个java版分词服务器

1.先介绍其原理,并以结巴分词服务器来举例,其实这种服务器类似于Tomcat,只是专门初处理一种特定的功能
具体要求是 我利用浏览器或者程序发送一个Get请求,如何这个服务器给我一个响应结果,先给出一个示范,通过对一个单词或者词组进行分词,返回给浏览器
在这里插入图片描述
1.python版实现 ,这个比较简单,但是效率不是特别高,具体请看代码注释,我会在下面具体写出java版的分词服务器的

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
"""
Created on Sun Jun  7 21:39:56 2020

@author: mac
"""
import jieba    #导入包
cut = jieba.cut
# bottle 是一个http 的开发工具
from bottle import route,run
# sentence :待拆分的字符串    中华人民共和国  ->
#返回值:  以空格分隔的   字符串
def token(sentence):
    seg_list = list(   cut(sentence)   )
    return " ".join(seg_list)

#路由设置 这里其实就相当于 SpringMVC的requestMapping()一样的
@route('/token/:sentence')
def index(sentence):
    print(  "====",sentence )
    result = token(sentence)
    return "{\"ret\":0, \"msg\":\"OK\", \"terms\":\"%s\"}" % result

#相当于  java 中的   main

if __name__ == "__main__":
    #以      http://localhost:8282/token/今天是星期天       访问
    #以http协议监听8282端口,并自动解析Http协议
    run(host="localhost",port=8282)

2.下面重点介绍java版的分词,其实核心代码真的非常简单,就两句代码,我先给一个pom.xml

<!-- https://mvnrepository.com/artifact/com.huaban/jieba-analysis -->
        <dependency>
            <groupId>com.huaban</groupId>
            <artifactId>jieba-analysis</artifactId>
            <version>1.0.2</version>
        </dependency>

然后我们就要开始构建属于一个自己的服务器了,首先我们应该了解,它应该是一个多线程程序的,因为我同时可能接受多个请求,而且利用Socket来监听某个端口的数据,所以我们要先监听端口,而且以多线程的方式来处理发送过来的数据,

/**
原理:浏览器发送到8083端口的数据我用InputStream来读取,具体数据就是一段Http协议的文本
浏览器发送的一个Get请求
GET /token?sentence=asd%20adasd%20sds%20sfsd%20sfsdf HTTP/1.1
Host: localhost:8083
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.97 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Sec-Fetch-Site: none
Sec-Fetch-Mode: navigate
Sec-Fetch-User: ?1
Sec-Fetch-Dest: document
Accept-Encoding: gzip, deflate
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件名称:藏拙简易中文分词服务器 作者:藏拙 具体使用时可将 cangzhuo.dat 放在分词服务器相同的目录即可 使用前请先启动分词服务器 分词服务器程序既是一个windows 服务程序, 服务名称是:cangzhuo fenci service and serve 0.1 (藏拙中文分词服务器) 同时又是一个简单的webserver安装启动后,你可以直接在浏览器中输入 http://127.0.0.1:888 进行使用 同时又还是一个Scoket server 通信端口是 888. 分词服务器安装方式有两种(假设你保存在D盘,如果不是请自行更改): 一、也可以直接通过双击 安装分词服务器.bat 来进行安装 二、d:\fenciserver.exe install 回车即可!(安装后就会自动启动服务) 分词服务器卸载方式是(假设你保存在D盘,如果不是请自行更改): 一、也可以直接通过双击 卸载分词服务器.bat 来进行卸载 二、d:\fenciserver.exe uninstall 回车即可!(卸载后就会自动关闭服务) 另外:为了便于大家的开发使用, 我提供了Delphi、C#、Java、Html、javascript这几中不同语言的使用代码。 详细说明、代码及最新更新信息请参见:http://tieba.cangzhuo.com/tieba-%25B2%25D8%25D7%25BE.html 另词库文件 cangzhuo.dat 请与分词服务器保存在同一目录下,并且不能改名! 使用步骤: 一、下载分词服务器和词库文件,词库文件与分词服务器保存在同一目录下。 二、分词服务器安装,请参考上面的说明。 三、可以开始使用了! 有任何疑问请与我沟通:QQ 99923309

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值