来源:互联网 更新时间:2026-08-23 20:53
实战开发应用场景中,有获取一段话、一篇文章词频的业务场景,
词频的前提就是分词。
常用的中文分词包括:

1、IK分词——https://github.com/medcl/elasticsearch-analysis-ik
2、结巴分词——https://github.com/huaban/elasticsearch-analysis-jieba
3、ANSJ分词——https://github.com/NLPchina/elasticsearch-analysis-ansj
在实际开发里,完全可以基于这些分词工具再做一层封装,把它们整理成接口或者独立服务来使用。
不过,换个思路看,这件事未必一定要绕一层服务:能不能直接借助Elasticsearch的分词插件,把分词能力本身对外提供出来?
1、 Elasticsearch对中文的处理,倒排索引的前置条件就是中文分词。
而分词,我们常用的就是IK分词插件。
2、 正常ES的部署、开发设计时候就提前选好分词器。
综上,借助Elasticsearch实现分词完全没有问题。
GET test_index/_analyze{"analyzer":"ik_smart","text":"9年后,我还是没有跑出去 | 震后余生"}返回结果:
{"tokens": [{"token": "9","start_offset": 0,"end_offset": 1,"type": "ARABIC","position": 0},{"token": "年后","start_offset": 1,"end_offset": 3,"type": "CN_WORD","position": 1},{"token": "我","start_offset": 4,"end_offset": 5,"type": "CN_WORD","position": 2},{"token": "还是","start_offset": 5,"end_offset": 7,"type": "CN_WORD","position": 3},{"token": "没有","start_offset": 7,"end_offset": 9,"type": "CN_WORD","position": 4},{"token": "跑出去","start_offset": 9,"end_offset": 12,"type": "CN_WORD","position": 5},{"token": "震后","start_offset": 15,"end_offset": 17,"type": "CN_WORD","position": 6},{"token": "余生","start_offset": 17,"end_offset": 19,"type": "CN_WORD","position": 7}]}以下是基于Jest5.3.3的接口实现。
/**@brief:获取分词结果接口*@param:待分词的文章/字符串*@return:不重复分词结果集(可根据实际业务场景二次开发)*@date:20180704*/public static String IK_TYPE = "ik_smart";public static Set getIkAnalyzeSearchTerms(String searchContent) {// 调用 IK 分词分词JestClient client = JestHelper.getClient();Analyze ikAnalyze = new Analyze.Builder().index(TEST_INDEX).analyzer(IK_TYPE).text(searchContent).build();JestResult result = null;Set keySet = new HashSet();try {result = client.execute(ikAnalyze);JsonArray jsonArray = result.getJsonObject().getAsJsonArray("tokens");int arraySize = jsonArray.size();for (int i = 0; i < arraySize; i) {JsonElement curKeyword = jsonArray.get(i).getAsJsonObject().get("token");//Logger.info("rst = " curKeyword.getAsString());keySet.add(curKeyword.getAsString());}} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}return keySet;} 有了ja va接口,对外提供Restful API就变得相对简单了。
充分挖据Elasticsearch自身特性,优化、简化业务场景才是王道!
腾讯ima怎么把微信内容一键导入知识库?
腾讯ima怎么创建共享知识库?
Celestia价格预测2026-2032:TIA币能否引领山寨币上涨行情?历史价格回顾
新浪互联网热点小时报丨2026年07月26日16时_今日实时互联网热点速递
比特币(BTC)核心周期指标复刻历史走势 价格或跌破5.8万美元关键支撑位
比特币 2025 年价格预测:BTC 的未来走势
新浪机器学习热点小时报丨2026年07月25日18时_今日实时机器学习热点速递
WorkBuddy微信版怎么获得积分?
新浪人工智能热点小时报丨2026年07月30日18时_今日实时人工智能热点速递
男生高性价比充电头?
博世壁挂炉关闭暖气怎么操作
5000元起的鼠标哪个最值得入手?
车载冰箱重置到出厂设置几步?
短剧《史上最强洪荒修为》剧情介绍
管线机怎么接云米净水器
结婚家电首选:Leader懒人三筒Ultra热泵洗烘一体
笔记本移动电源推荐哪款?
腾讯ima知识库怎么分类管理?
海尔消毒柜自动消毒如何中止
kimi提示词专家使用方法新手指南
手机号码测吉凶
本站所有软件,都由网友上传,如有侵犯你的版权,请发邮件haolingcc@hotmail.com 联系删除。 版权所有 Copyright@2012-2013 haoling.cc