分词和查询都是以词项为基本单位,词项是词条化的结果。在Lucene中分词主要依靠Analyzer类解析实现。Analyzer类是一个抽象类,分词的具体规则是由子类实现的,所以对于不同的语言规则,要有不同的分词器

1. StopAnalyzer
      停用词分词器:能过滤词汇中的特定字符串和词汇,并且完成大写转小写的功能。

2. StandardAnalyzer
      标准分词器:根据空格和符号来完成分词,还可以完成数字、字母、E-mail地址、IP地址以及中文字符的分析处理,还可以支持过滤词表,用来代替StopAnalyzer能够实现的过滤功能。

3. WhitespaceAnalyzer
      空格分词器:使用空格作为间隔符的词汇分割分词器。处理词汇单元的时候,以空格字符作为分割符号。分词器不做词汇过滤,也不进行小写字符转换。实际中可以用来支持特定环境下的西文符号的处理。由于不完成单词过滤和小写字符转换功能,也不需要过滤词库支持。词汇分割策略上简单使用非英文字符作为分割符,不需要分词词库支持。

4. SimleAnalyzer
      简单分词:具备基本西文字符词汇分析的分词器,处理词汇单元时,以非字母字符作为分割符号。分词器不能做词汇的过滤,之进行词汇的分析和分割。输出地词汇单元完成小写字符转换,去掉标点符号等分割符。

5. CJKAnalyzer
      二分法分词:内部调用CJKAnalyzer分词器,对中文进行分词,同时使用StopFilt过滤器完成过滤功能,可以实现中文的多元切分和停用词过滤。

6. IKAnalyzer
      IKAnalyzer实现了以词典为基础的正反向全切分,以及正反向最大匹配切分两种方法。IKAnalyzer是第三方实现的分词器,继承自Lucene的Analyzer类,针对中文文本进行处理。

7. Paoding Analysis
      Paoding Analysis中文分词具有极 高效率 和 高扩展性。引入隐喻,采用完全的面向对象设计,构思先进。其效率比较高,在PIII 1G内存个人机器上,1秒可准确分词100万汉字。采用基于不限制个数的词典文件对文章进行有效切分,使能够将对词汇分类定义。能够对未知的词汇进行合理解析。

8. MMSeg4J
      mmseg4j 用 Chih-Hao Tsai 的 MMSeg 算法实现的中文分词器(http://technology.chtsai.org/mmseg/ ),并实现 lucene 的 analyzer 和 solr 的TokenizerFactory 以方便在Lucene和Solr中使用。 MMSeg 算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。Complex 加了四个规则过虑。官方说:词语的正确识别率达到了 98.41%。mmseg4j 已经实现了这两种分词算法。

Lucene分词详解相关推荐

  1. 简单有效的多标准中文分词详解

    简单有效的多标准中文分词详解 本文介绍一种简洁优雅的多标准中文分词方案,可联合多个不同标准的语料库训练单个模型,同时输出多标准的分词结果.通过不同语料库之间的迁移学习提升模型的性能,在10个语料库上的 ...

  2. 基于双向BiLstm神经网络的中文分词详解及源码

    基于双向BiLstm神经网络的中文分词详解及源码 基于双向BiLstm神经网络的中文分词详解及源码 1 标注序列 2 训练网络 3 Viterbi算法求解最优路径 4 keras代码讲解 最后 源代码 ...

  3. ES倒排索引与分词详解

    倒排索引 正排索引:文档id到单词的关联关系 倒排索引:单词到文档id的关联关系 示例: 对以下三个文档去除停用词后构造倒排索引 image 倒排索引-查询过程 查询包含"搜索引擎" ...

  4. Lucene DocValues详解

    今天斗胆来试试DocValues,对于DocValues我想大家都不会觉得陌生,同时又不是非常熟悉,就是那种熟悉而又陌生的感觉. 一.docValues是什么鬼呢? DocValues在LUCENE- ...

  5. elasticsearch Analyzer 进行分词详解

    文章目录 1. Anaiysis 与 Analyzer 2. Analyzer 的组成 3. Elastocsearch 的内置分词器 3.1 使用 _analyzer Api 3.1.1 直接指定 ...

  6. Lucene教程详解

    欢迎关注微信账号:java那些事:csh624366188.每天一篇java相关的文章 注明:本文是由本人在开发有关基于lucene资源检索系统时的一点总结,其中一部分是自己根据开发过程自己总结的,也 ...

  7. Linux环境下使用NLPIR(ICTCLAS)中文分词详解

    本文作者:合肥工业大学 管理学院 钱洋 email:1563178220@qq.com 欢迎交流,禁止将本人博客直接复制下来,上传到百度文库等平台. NLPIR介绍 NLPIR是中科院出的一款汉语分词 ...

  8. ElasticSearch中的中文分词详解

    1.什么是分词: 分词就是指将一个文本转化成一系列单词的过程,也叫文本分析,在Elasticsearch中称之为Analysis. 举例:我是好学生 --> 我/是/好学生 2.分词API 2. ...

  9. PHP中使用SCWS中文分词详解

    PHP中使用SCWS中文分词 SCWS 简介 SCWS 是 Simple Chinese Word Segmentation 的首字母缩写(即:简易中文分词系统). 这是一套基于词频词典的机械式中文分 ...

最新文章

  1. c语言过程中的理论杂篇。
  2. 数据结构与算法之美-哈希算法
  3. 是否将网址设置为主页 的代码实现?
  4. oracle11g 未,Oracle11g链接提示未“在本地计算机注册“OraOLEDB.Oracle”解决方法
  5. 多线程安全小结-可见性(内存屏障,共享变量副本)、原子性、有序性(编译器优化、cpu流水线乱序)
  6. android 8.1 跳过,直接跳过8.0!Essential Phone正式迎来Android 8.1
  7. Hammer.js分析(四)——recognizer.js
  8. 2016年大数据Spark“蘑菇云”行动之spark streaming消费flume采集的kafka数据Directf方式...
  9. 如何把jpg转换成word文档
  10. 【本人秃顶程序员】SpringMVC工作原理详解
  11. C# winform窗体实现图片轮播
  12. 如何清空Python的List
  13. Spring支持的常用数据库事务传播属性和事务隔离级别
  14. MySQL数据库学习路径 链接汇总
  15. 易语言python支持库_易语言python
  16. 企业工商数据查询接口
  17. linux服务器被植入挖矿病毒后初步解决方案
  18. UnityShader镜面反射计算与反射光向量推导
  19. 产品干货:什么是线框图?如何做好线框图?
  20. KNN的实现——KD树

热门文章

  1. cetus权限连接主从mysql_cetus/cetus-rw.md at master · session-replay-tools/cetus · GitHub
  2. proteus三输入与门_用Proteus画图时有没有四个输入口的与门?元件名称叫什么?...
  3. IE浏览器JS提示缺少对象的解决办法
  4. vue html2canvas安装,vue中html2canvas的使用
  5. Maven实战与原理分析(一):maven超全使用指南总结
  6. php 获取ip的广播地址,ip数据广播采用什么协议
  7. mysql hive 数据类型_Hive数据类型
  8. 【论文粗读】(NeurIPS 2020) SwAV:对比聚类结果的无监督视觉特征学习
  9. html + js实现抽奖 纯属娱乐
  10. [oracle]根据分隔字符将单字段拆分成多行