Lucene优化(分词器的选择) | 学习笔记

简介: 快速学习Lucene优化(分词器的选择)。

开发者学堂课程【Lucene知识精讲与实战(下)Lucene优化(分词器的选择)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/701/detail/12354


Lucene优化(分词器的选择)

一、选择合适的分词器

1、不同的分词器分词执行效果不同,所用时间也不同

2、标准分词器 StandardAnalyzer ,对中文字词不好,但是执行速度很快,测试。去掉优化磁盘 io 的问题,StandardAnalyzer 对于小100万条的数据,需要7725ms ,如果换成 ikanalyzer 分词器,对于中文的分词效果比较好,因为有中文的寓意分析功能,在中文分词器中会加入大量预测型的算法,看哪几个字可以分成一个词,如果 ikanalyzer 分词器还会加载 resources 目录下扩展词典文件和停用词典文件。停用词典中出现的词都会被过滤掉,扩展词典中的词都会被强制分成一个词,ikanalyzer 的执行效率没有 StandardAnalyzer 执行效率快,因为 ikanalyzer 的功能更为强大。

7.1.png

3、测试 ikanalyzer 的执行效率,创建索引,消耗时间为19215ms,如果用StandardAnalyzer 在没经过任何优化的情况下,执行速度是 7725ms,虽然  ikanalyzer 创建索引时所花费的时间比 StandardAnalyzer 长,但是在企业中愿意用 ikanalyzer ,因为对中文分词效果良好,所以企业不是以效率,磁盘 ioio ,时间选择用什么,只是参考的参数之一,做出来的效果也是供架构师参考的因素。

4虽然 StandardAnalyzer 切分词速度快过 IKAnalyzer ,但是由于 StandardAnalyzer 对中文支持不好,所以为了追求好的分词效果,为了追求查询时的准确率,也只能用 IKAnalyzer 分词器,  lKAnalyzer 支持停用词典和扩展词典,可以通过调整两个词典中的内容,来提升查询匹配的精度。

相关文章
|
存储 自然语言处理 算法
Lucene学习总结
Lucene学习总结
104 0
Lucene学习总结
|
自然语言处理 Java 索引
全文检索Solr集成HanLP中文分词
以前发布过HanLP的Lucene插件,后来很多人跟我说其实Solr更流行(反正我是觉得既然Solr是Lucene的子项目,那么稍微改改配置就能支持Solr),于是就抽空做了个Solr插件出来,开源在Github上,欢迎改进。
3372 0
|
自然语言处理 Java 数据库
这么说吧,Lucene很简单,其实就是个框架,用于全文检索用的
我是风月连城,喜欢用简单的语言阐述知识点 长期分享原创java文章,分享进阶架构师学习笔记及学习资料 喜欢的大屌们可以关注下,共同学习,一起进步 ps:由于工资迟迟不发,影响心情,好几天没写文章.... Lucene是什么? 0 ) 关键词:Lucene ,搜索,全文检索 1)本质:一个Jar包,一个用于全文检索的框架 2)作用:Lucene不是一个完整的全文索引应用,而是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能。
|
自然语言处理
方便Lucene高版本使用IKAnalyzer分词
why IKAnalyzer是个很不错的中文分词工具,但已经不维护了,但只支持低版本的Lucene,为了兼容Lucene6.x版本,这里是小改动了一些然后放到github上,方便有需要的人使用。
1159 0
|
SQL JavaScript Java
Lucene全文检索基础
---------------------------------------------------------------------------------------------------------------[版权申明:本文系作者原创,转载请注明出处]文章出处:http://blog.csdn.net/sdksdk0/article/details/51873672作者:朱培  
1299 0
|
自然语言处理 Java 索引