网站首页 > java教程 正文
项目中需要优化关键字搜索,最近在看Lucene,总结了一下:
IK Analyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。到现在,IK发展为面向Java的公用分词组件,独立于Lucene项目,同时提供了对Lucene的默认优化实现。在2012版本中,IK实现了简单的分词歧义排除算法,标志着IK分词器从单纯的词典分词向模拟语义分词衍化。
1.需要在项目中引入:
IKAnalyzer.cfg.xml
IKAnalyzer2012FF_u1.jar
lucene-core-4.0.jar
项目结构:
2.导入必需的jar包之后配置IKAnalyzer.cfg.xml,将扩展字典和扩展停用词、主词典载入;
3.main2016.dic
4.测试方法:
分词方法:
public static String IKAnalysis(String str) {
StringBuffer sb = new StringBuffer();
try {
// InputStream in = new FileInputStream(str);//
byte[] bt = str.getBytes();// str
InputStream ip = new ByteArrayInputStream(bt);
Reader read = new InputStreamReader(ip);
IKSegmenter iks = new IKSegmenter(read, true);
Lexeme t;
while ((t = iks.next()) != null) {
sb.append(t.getLexemeText() + “|”);
}
sb.delete(sb.length() - 1, sb.length());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(sb.toString());
return sb.toString();
}
5.结果
猜你喜欢
- 2025-07-08 JAVA程序员自救之路——Elasticsearch向量搜索
- 2025-07-08 Java 面试题:ElasticSearch 查询优化手段有哪些?
- 2025-07-08 用Java实现RAG的3大核心模块与7个必知细节
- 2025-07-08 LangChain4j如何自定义文档转换器实现数据清洗?
- 2025-07-08 搞懂编译原理系列 - 手写四则运算解释器(1)
- 2025-07-08 还在为 Spring Boot3 技术整合发愁?一文解锁大厂都在用的实用方案
- 2025-07-08 Java 集成 Elasticsearch(Java 集成ureport 导出Word)
- 2025-07-08 中文繁简体转换/敏感词/拼音/分词/汉字相似度/markdown 目录
- 2025-07-08 elasticsearch 中文分词(elasticsearch 中文分词器)
你 发表评论:
欢迎- 最近发表
-
- 你真的会用 Java 中的线程池吗?多个企业级线程池工具类封装实践
- 线程池的实现原理、优点与风险、以及四种线程池实现
- Java线程池ThreadPoolExecutor实现原理剖析
- 深入分析线程池的实现原理(线程池是干嘛的)
- 一文搞懂JAVA线程池工作原理(java线程池的工作流程)
- Java线程池的工作原理(java线程池的实现原理)
- 5分钟读懂C#中TcpClient、TcpListener和Socket三个类的角色
- JVM对象的创建过程(jvm运行过程中创建的对象一般存放在方法区)
- 对象组成与Java内存模型JMM分析(java对象在内存中存储的结构)
- JVM对象内存分配详细过程(栈上分配->TLAB->老年代->Eden区)
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)