一、通过TokenStream查看分词的详细信息

package com.wsy;import org.apache.lucene.analysis.*;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;
import org.apache.lucene.analysis.tokenattributes.OffsetAttribute;
import org.apache.lucene.analysis.tokenattributes.PositionIncrementAttribute;
import org.apache.lucene.analysis.tokenattributes.TypeAttribute;
import org.apache.lucene.util.Version;import java.io.IOException;
import java.io.StringReader;public class AnalyzerUtils {public static void displayAllToken(String string, Analyzer analyzer) {try {TokenStream tokenStream = analyzer.tokenStream("content", new StringReader(string));// 放入属性信息,为了查看流中的信息// 位置增量信息,语汇单元之间的距离PositionIncrementAttribute positionIncrementAttribute = tokenStream.addAttribute(PositionIncrementAttribute.class);// 每个语汇单元的位置偏移量信息OffsetAttribute offsetAttribute = tokenStream.addAttribute(OffsetAttribute.class);// 每一个语汇单元的分词信息CharTermAttribute charTermAttribute = tokenStream.addAttribute(CharTermAttribute.class);// 使用的分词器的类型信息TypeAttribute typeAttribute = tokenStream.addAttribute(TypeAttribute.class);while (tokenStream.incrementToken()) {System.out.println(positionIncrementAttribute.getPositionIncrement() + ":" + charTermAttribute + "[" + offsetAttribute.startOffset() + "-" + offsetAttribute.endOffset() + "]-->" + typeAttribute.type());}System.out.println("----------------------------");} catch (IOException e) {e.printStackTrace();}}public static void main(String[] args) {Analyzer analyzer1 = new StandardAnalyzer(Version.LUCENE_35);Analyzer analyzer2 = new StopAnalyzer(Version.LUCENE_35);Analyzer analyzer3 = new SimpleAnalyzer(Version.LUCENE_35);Analyzer analyzer4 = new WhitespaceAnalyzer(Version.LUCENE_35);String string3 = "how are you, thank you.";AnalyzerUtils.displayAllToken(string3, analyzer1);AnalyzerUtils.displayAllToken(string3, analyzer2);AnalyzerUtils.displayAllToken(string3, analyzer3);AnalyzerUtils.displayAllToken(string3, analyzer4);}
}

二、总结

要想查看TokenStream中的详细信息,就需要把查看信息的属性丢进去,之后按照需要输出即可。依然可以发现,不同的分词器表现出了不同的分词形态。

Lucene笔记16-Lucene的分词-通过TokenStream显示分词的详细信息相关推荐

  1. Lucene笔记15-Lucene的分词-通过TokenStream显示分词

    一.展示分词内容 package com.wsy;import org.apache.lucene.analysis.*; import org.apache.lucene.analysis.stan ...

  2. Lucene学习-深入Lucene分词器,TokenStream获取分词详细信息

    Lucene学习-深入Lucene分词器,TokenStream获取分词详细信息 在此回复牛妞的关于程序中分词器的问题,其实可以直接很简单的在词库中配置就好了,Lucene中分词的所有信息我们都可以从 ...

  3. lucene 4.3 通过TokenStream显示分词代码演示

    核心代码: public class AnalyzerUtils {      /**      * 显示分词信息      * @param str      * @param a      * @ ...

  4. 13、学习Lucene3.5索引之通过TokenStream显示分词

    1.显示分词词汇 public static void displayToken(String str, Analyzer analyzer){try {/** * TokenStream token ...

  5. WinPcap笔记(3):获取已安装设备的详细信息

    现在已经知道了如何获取本地设备的基本信息.事实上,WinPcap提供了其它更高级的信息.在函数pcap_findalldevs_ex()返回的pcap_if结构体中,都有一个pcap_addr的结构体 ...

  6. DotLucene源码浅读笔记(1) : Lucene.Net.Analysis

    本系列笔记将以DotLucene的命名空间组织行文,阅读的DotLucene版本是1.9.RC1,并且以更好的使用而非研究为目的阅读.也就是说要避难就易拉. 0), DotLucene主要命名空间概览 ...

  7. DotLucene源码浅读笔记(1) : Lucene.Net.Analysis 【转】

    本系列笔记将以DotLucene的命名空间组织行文,阅读的DotLucene版本是1.9.RC1,并且以更好的使用而非研究为目的阅读.也就是说要避难就易拉. 0), DotLucene主要命名空间概览 ...

  8. Lucene.Net 2.3.1开发介绍 —— 二、分词(一)

    原文:Lucene.Net 2.3.1开发介绍 -- 二.分词(一) Lucene.Net中,分词是核心库之一,当然,也可以将它独立出来.目前Lucene.Net的分词库很不完善,实际应用价值不高.唯 ...

  9. java lucene 中文分词_Lucene的中文分词器IKAnalyzer

    分词器对英文的支持是非常好的. 一般分词经过的流程: 1)切分关键词 2)去除停用词 3)把英文单词转为小写 但是老外写的分词器对中文分词一般都是单字分词,分词的效果不好. 国人林良益写的IK Ana ...

最新文章

  1. python库tqdm是什么以及怎么用tqdm、trange和tqdm.notebook
  2. 在新基建风口上,华为“鲲鹏”这次要翱翔了
  3. GnuPG如何安全地分发私钥(1)GnuPG的用法
  4. javaweb学习总结(十)——HttpServletRequest对象(一)
  5. 一文了解c/c++、java、JavaScript、php、Python的用途
  6. Oracle_11g_R2安装手册(图文教程)
  7. android 获得屏幕的大小
  8. Python中的GIL和深浅拷贝
  9. unix环境高级编程基础知识之第二篇(3)
  10. MATLAB-矩阵基本语法知识
  11. 大哥特斯拉:造车“三傻”,咱们抱团?
  12. JAVA内存模型和GC原理
  13. 计算机媒体分类及其特点,多媒体的媒体种类有哪些?试归纳叙述多媒体关键特性以及这些特性之间的关系。...
  14. 凑微分公式_第一换元积分法(13种常用的凑微分公式)☀成考·高数二辅导
  15. win7计算机节电模式,极力推荐!win7系统的省电模式应该怎么关闭呢?
  16. [中科]寒武纪,不愁钱路无客户
  17. L Norms 范数
  18. 如何使用python批量压缩图片_python 实现图片批量压缩的示例
  19. 智能PID软件-AVEVA Diagrams报表功能介绍【图瓦软件出品】
  20. “科林明伦杯”哈尔滨理工大学第十届程序设计竞赛(同步赛)---全题目+题解

热门文章

  1. 边伯贤计算机系文,刚追完《偏偏宠爱》,又对这部小甜文着了魔,病娇男主偏执且温柔...
  2. UEFI原理与编程实践--Variable的使用
  3. 深度:人群、场景、信任感—中国中老年消费品市场三大机会解读
  4. angular div 滚动条事件_angular怎么控制滚动条
  5. AI测肤:不再止步于”表面美颜”
  6. 盗卖Vista可激活密钥现身北京 叫价最低50元
  7. python 直线拟合_python matplotlib拟合直线的实现
  8. 容器隔离技术_在隔离区捡拾钢琴的技术提示
  9. 2017中国人工智能公司榜单发布,颠覆AT的AI独角兽全在这
  10. 解决Java线程死锁问题及代码实例