为推文优化的Lucene Analyzer类

<strong><span style="font-size:18px;">/***
 * @author YangXin
 * @info 使用Doublemetaphone函数对Twitter优化。
 * Doublemetaphone函数能够为发音类似的单词创建同样的键
 *
 */
package unitTwelve;

import java.io.IOException;

import org.apache.commons.codec.language.DoubleMetaphone;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.StopFilter;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.en.PorterStemFilter;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.analysis.tokenattributes.TermAttribute;
import org.apache.lucene.util.Version;
public class TwitterAnalyzer extends Analyzer{
	private DoubleMetaphone filter = new DoubleMetaphone();
	public TokenStream result = new PorterStemFilter(new StopFilter(true, new StandardTokenizer(Version.LUCENE_CURRENT, reader), StandardAnalyzer.STOP_WORDS_SET));
	TermAttribute termAtt = (TermAttribute) result.addAttribute(TermAttribute.class);
	StringBuilder buf = new StringBuilder();
	try{
		while(result.incrementToken()){
			String word = new String(termAtt.term(), 0, termAtt.termLength());
			buf.append(filter.encode(filter.encode(word)).append(" "));
		}
	}catch(IOException e){
		e.printStackTrace();
	}
	return new WhitespaceTokenizer(new StringReader(buf.toString()));
	}
}</span></strong>

时间: 2024-11-05 06:21:03

为推文优化的Lucene Analyzer类的相关文章

公众号的推文

阅读相关文档:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1418702138主要关注[管理]与[开发]模块,统计模块将有助于反馈读者群体的特点,某些推文的热度等等. 公众号的推文目的:增加热度分享认知 推文在:管理-->素材管理-->新建图文消息-->预览-->保存并群发确定阅读人群[根据关注者的特点确定语言风格,同时注意避免不合适的内容]编写标题[简洁,有吸引力,有价值,有味道]上传素材图片[按照素材的功

矩阵乘法递推的优化艺术

对于一个线性递推式,求它第项的值,通常的做法是先构造一个的矩阵,然后在时间内求出. 其实,由于这个矩阵的特殊性,可以将时间优化到.接下来我会以一个题目来讲解矩阵乘法递推的优化. 题目:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1229 题意:设,求的值.其中,和 . 前言:本题如果用普通的矩阵做法,很明显会TLE.那么我们要对这个特殊的矩阵进行时间上的优化. 分析:本题主要可用两种方法解决,分别是错位相减和矩阵乘法

Python 分析Twitter用户喜爱的推文

CODE: #!/usr/bin/python # -*- coding: utf-8 -*- ''' Created on 2014-8-5 @author: guaguastd @name: analyze_favorite_tweet.py ''' if __name__ == '__main__': # import json #import json # import search from search import search_for_tweet # import get_fri

HDU 4914 Linear recursive sequence(矩阵乘法递推的优化)

题解见X姐的论文 矩阵乘法递推的优化,只是mark一下.. HDU 4914 Linear recursive sequence(矩阵乘法递推的优化)

java--全文检索框架--Lucene

讲解之前,先来分享一些资料 首先呢,学习任何一门新的亦或是旧的开源技术,百度其中一二是最简单的办法,先了解其中的大概,思想等等.这里就贡献一个讲解很到位的ppt.已经被我转成了PDF,便于搜藏. 其次,关于第一次编程初探,建议还是查看官方资料.百度到的资料,目前Lucene已经更新到4.9版本,这个版本需要1.7以上的JDK,所以如果还用1.6甚至是1.5的小盆友,请参考低版本,由于我用的1.6,因此在使用Lucene4.0. 这是Lucene4.0的官网文档:http://lucene.apa

lucene测试类

package test.lucene; import java.io.BufferedReader;import java.io.File;import java.io.FileInputStream;import java.io.IOException;import java.io.InputStreamReader;import java.util.Date; import org.apache.lucene.analysis.Analyzer;import org.apache.luce

Anipang2反推文档

此文档主要用于一个开发同学尝试学习描述一个产品的基本设计.也许工程师都应该有类似能力. 反推的基础,目前是自己玩过的一些关卡和youtube上的一些关卡通关视频,主要是前120关.(120关后面应该是最新版本才出). 1 消除块,棋子 颜色:青,黄,蓝,粉,褐,灰,6种,表现为小动物. 有些时候单局内只出现5种颜色的棋子. 如果消除的(N > 3)个棋子,棋盘会出现帽子(横,竖,球3种)棋子,晕眼棋子.如下图:中间有各种颜色的棋子,而且有2个晕眼棋子,横帽棋子,球帽棋子. 其他棋盘中的棋子还包括

标准文档流以及伪类选择器

标准文档流 浏览器排版是根据元素的特征(块和级),从上往下,从左往右排版.这就是标准文档流. float:left/right: 效果:元素都加浮动,后面的元素会紧跟着前面的元素并排排列. A. 只要加了float,这个元素就会脱离标准文档流. (第一个加了float,离了标准文档流,对于浏览器来说,第二个元素就变成了标准文档流中的第一个,于是就会把他排在第一位.而第一个依然存在,所以就会叠加.) 行级加float,就会脱离标准流,块不像块,行不像行,能设置宽高,能并排排列,display就没有

LeetCode 70 - 爬楼梯 - [递推+滚动优化]

假设你正在爬楼梯.需要 n 阶你才能到达楼顶. 每次你可以爬 1 或 2 个台阶.你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数. 示例 1: 输入: 2输出: 2解释: 有两种方法可以爬到楼顶.1. 1 阶 + 1 阶2. 2 阶 示例 2: 输入: 3输出: 3解释: 有三种方法可以爬到楼顶.1. 1 阶 + 1 阶 + 1 阶2. 1 阶 + 2 阶3. 2 阶 + 1 阶 设 $f[n]$ 表示跳上 $n$ 级台阶的方案数目,因此很容易得到 $f[n] = f[n-1