这是ik的配置文件 在配置远程扩展字典写上下面方法的接口(要注意能调取到这个方法) 把停止词典注释掉
---------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>IK Analyzer 扩展配置</comment>
<!--用户可以在这里配置自己的扩展字典 -->
<entry key="ext_dict">custom/mydict.dic;custom/single_word_low_freq.dic</entry>
<!--用户可以在这里配置自己的扩展停止词字典-->
<entry key="ext_stopwords">custom/ext_stopword.dic</entry>
<!--用户可以在这里配置远程扩展字典 -->
<entry key="remote_ext_dict">location</entry>
<!--用户可以在这里配置远程扩展停止词字典-->
<entry key="remote_ext_stopwords">http://xxx.com/xxx.dic</entry>
</properties>
---------------------------------------------------------------------------
以下是java代码部分
---------------------------------------------------------------------------
@GET
@Path("loadGJCK")
@Produces(MediaType.APPLICATION_OCTET_STREAM)
@ApiOperation(value = "词库")
public String loadGJCK(@Context HttpServletRequest request,@Context HttpServletResponse response){
String result = "";
try {
StringBuilder sb = new StringBuilder();
String[] keywords = keywordService.selectKeyWord(10l);//获取所有分词,这里可以改进使用缓存等。
String eTag = request.getHeader("If-None-Match");
Long modified= request.getDateHeader("If-Modified-Since");
//设置头
if(null == modified || -1 == modified) {
//如果没有,则使用当前时间
modified = System.currentTimeMillis();
}
// 设置头信息。
String oldEtag = keywords.length+ "";
response.setDateHeader("Last-Modified", Long.valueOf(modified));
response.setHeader("ETags", keywords.length + "");
if(!oldEtag.equals(eTag)) {
//拼装结果
for(String tempWord : keywords) {
if(!StringUtils.isEmpty(tempWord)){
//分词之间以换行符连接
if(StringUtils.isNotEmpty(sb.toString())) {
sb.append("\r\n");
}
sb.append(tempWord);
}
}
//result = new String(result.getBytes("ISO8859-1"), "UTF-8");
result = sb.toString();
//更新时间
response.setDateHeader("Last-Modified", System.currentTimeMillis());
}
}catch (Exception e){
e.printStackTrace();
}finally {
System.out.println(result);
return result;
}
}
然后这个词库就可以用啦!
分享到:
相关推荐
IKAnalyzer动态自定义词库的方法 IKAnalyzer是java语言中一个流行的分词器工具,能够对中文文本进行分词操作。分词是自然语言处理(NLP)中的一项基本操作,用于将文本分割成单个词语,以便进行进一步的处理和分析...
ik中文分词词库35万中文分词词库(含电商)
Ik分词器支持自定义词典,可以根据具体需求扩展和更新词库,以适应不同领域的专业术语和新兴词汇。 该压缩包中的“中文分词词库.txt”文件,就是ik分词器的核心资源之一,它包含了大量预定义的词汇。这些词汇通常...
配置词库将custom 文件放入这个文件夹内修改 ik 的配置文件先备份一个配置cp IKAnalyzer.cfg.xml IKAnalyzer备份.cfg.x
它支持自定义词典和热更新词库,这使得在运行时添加新词汇成为可能,无需停止服务。 动态词库更新是IK Analyzer的一个重要特性。传统的分词器通常需要在修改词典后重启服务才能生效,但这种方式对于实时性要求高的...
IK分词器是ES中常用的中文分词插件,通过集成IK分词器并对其进行源码修改,可以实现从远程数据库MySql5.7.2动态更新同义词词库,并实现实时同步。 ### Elasticsearch集成IK分词器 集成IK分词器是通过在Elastic...
IK分词常用停止词库约1500个 elasticsearch analysis ik分词器常用停止词库
0.3 **远程词库**:这种方法是通过指定一个静态文件服务器来设定IK的词库信息。尽管可以远程更新,但同样需要手动编辑文件,并且依赖于`Last-Modified`和`ETag`来检测更新,有时可能不准确。 鉴于上述局限性,作者...
这个压缩包文件"IKanalyzer约2000个常用停止词库"包含了大约2000个中文停用词,这些词在进行IKAnalyzer分析时会被忽略,以优化搜索结果。停用词列表是根据大量语料库和实际应用场景精心筛选出来的,能有效减少无关...
【项目资源】: 包含前端、后端、移动开发、操作系统、人工智能、物联网、信息化管理、数据库、硬件开发、大数据、课程资源、音视频、网站开发等各种技术项目的源码。 ... 【项目质量】: 所有源码都经过严格测试,...
- **可扩展**:支持自定义词典,可以方便地添加专业词汇或者排除某些不需要分词的短语。 - **智能**:具备词性的标注功能,有助于进行更深入的语义分析。 ### 3. IKAnalyzer的结构与组件 IKAnalyzer的核心包括以下...
ElasticSearch7.3学习-中文分词器(IK Analyzer)及自定义词库
IK 分词库,全称为“Intelligent Chinese”,由Pang Li等人开发,主要目标是提高中文文本在Elasticsearch中的检索效果。它支持多种分词模式,包括精确模式、全模式、最短路径模式、关键词模式等,可以根据实际需求...
支持停止词,扩展词热更新,将分析器自定义为ik_smart_custom和ik_max_word_custom了,使用idea导入项目,mvn clear complile package 打包完成,使用release中的zip文件部署,记得修改db.properties中的数据库连接...
IKAnalyzer是一款基于Java语言开发的中文分词库,它的全称是"Intelligent Chinese Analyzer for Java"。这个库主要用于处理中文文本,将其拆分成可理解的词汇单元,这是自然语言处理(NLP)中的关键步骤。在Java开发...
IK Analyzer 是一个开源的,基于 java 语言开发的轻量级的中文分词工具包。从 2006年 12 月推出 1.0 版开始, IKAnalyzer 已经推出了 4 个大版本。最初,它是以开源项目Luence 为应用主体的,结合词典分词和文法分析...
标题中的“Solr java IKAnalyzer词库”指的是在Java环境下使用Apache Solr搜索引擎时,配合IKAnalyzer进行中文分词的实践。IKAnalyzer是一个开源的、基于Java实现的中文分词器,它针对Solr这样的全文检索框架优化,...
IKAnalyzer非常易用的java分词工具。可以自定义扩展词汇。 这个是一个完整的java项目demo。直接可以用,不用再去google下载了。添加了几个自定义词汇,测试好用。 运行ika.java里的main方法即可
本文将深入探讨IkAnalyzer的分词原理、词频统计、内链优化以及如何自定义分词词库。 IkAnalyzer源自于Lucene项目,是基于Java实现的轻量级中文分词工具,主要应用于全文检索领域。其核心特点在于具备较高的分词准确...