博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Lucene 7.2.1 自定义TokenFilter
阅读量:5320 次
发布时间:2019-06-14

本文共 1750 字,大约阅读时间需要 5 分钟。

1.自定义TokenFilter

import org.apache.lucene.analysis.TokenFilter;import org.apache.lucene.analysis.TokenStream;import org.apache.lucene.analysis.tokenattributes.CharTermAttribute;import java.io.IOException;import java.util.HashMap;import java.util.Map;public class CourtesyTokenFilter extends TokenFilter {    private Map
courtesyMap = new HashMap<>(); private CharTermAttribute charTermAttribute; public CourtesyTokenFilter(TokenStream input) { super(input); this.charTermAttribute = this.addAttribute(CharTermAttribute.class); courtesyMap.put("dr", "doctor"); courtesyMap.put("mr", "mister"); courtesyMap.put("mrs", "miss"); } @Override public final boolean incrementToken() throws IOException { if (!this.input.incrementToken()) { return false; } String term = this.charTermAttribute.toString(); if (courtesyMap.containsKey(term)) { this.charTermAttribute.setEmpty().append(this.courtesyMap.get(term)); } return true; }}

2.应用TokenFilter:

String text = "Hi, Dr Wang, Mr Liu asks if you stay with Mrs Liu yesterday!";        StandardAnalyzer standardAnalyzer = new StandardAnalyzer();        CourtesyTokenFilter courtesyTokenFilter = new CourtesyTokenFilter(standardAnalyzer.tokenStream("text", text));        CharTermAttribute charTermAttribute = courtesyTokenFilter.addAttribute(CharTermAttribute.class);        courtesyTokenFilter.reset();        while (courtesyTokenFilter.incrementToken()) {            System.out.print(charTermAttribute + " ");        }

3.场景解析

"Hi, Dr Wang, Mr Liu asks if you stay with Mrs Liu yesterday!" 这段文本中,有Dr, Mrs这两个词,我们看不懂,要用全称来显示。

转载于:https://www.cnblogs.com/dingyingsi/p/8568063.html

你可能感兴趣的文章
HNOI2018
查看>>
Android中检测网络连接状况的方法
查看>>
【理财】关于理财的网站
查看>>
Ubunt中文乱码
查看>>
《当幸福来敲门》读后
查看>>
python3基础知识自学笔记3-集合字典元组
查看>>
session的属性/方法/事件
查看>>
【转】系统无法进入睡眠模式解决办法
查看>>
思维导图 第六章 项目进度管理
查看>>
[Tex学习笔记]尝试数学公式
查看>>
省市县,循环组装,整合大数组
查看>>
C语言中返回字符串函数的四种实现方法
查看>>
Jmeter学习及使用(一)安装
查看>>
H5 调用手机摄像机、相册功能
查看>>
Google Closure Compiler 高级模式及更多思考(转)
查看>>
python--闭包函数、装饰器
查看>>
【坑】linux目录软连接的相关操作--很容易误操作
查看>>
Phpstorm中使用SFTP
查看>>
stm32中字节对齐问题(__align(n),__packed用法)
查看>>
like tp
查看>>