Lucene中Analyzer语句分析
Lucene中Analyzer语句分析,利用lucene中自带的词法分析工具Analyzer,进行对句子的分析。
源代码如下:
package com.test; import java.io.IOException;
import java.io.StringReader;
import java.util.List; import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.analysis.SimpleAnalyzer;
import org.apache.lucene.analysis.StopAnalyzer;
import org.apache.lucene.analysis.Token;
import org.apache.lucene.analysis.TokenStream;
import org.apache.lucene.analysis.WhitespaceAnalyzer;
import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.analysis.tokenattributes.TermToBytesRefAttribute;
import org.apache.lucene.util.Version; import com.bean.mashupDerscriptionTest;
import com.daoImpl.MashupDaoImpl;
import com.gargoylesoftware.htmlunit.javascript.host.Comment; public class KeyWordsTest { /**
* @param args
*/
public static void main(String[] args) {
MashupDaoImpl mashupDao = new MashupDaoImpl();
List<mashupDerscriptionTest> list = mashupDao
.findAllmashupDescripteonTest();
int i = 1;
String comment = null;
for (mashupDerscriptionTest mashup : list) {
// 描述为空去名字作为描述
if (mashup.getComments().equals("")) {
comment = mashup.getName();
} else {
comment = mashup.getComments();
}
// System.out.println(comment);
//对读取的描述利用Lucene中的Analyzer进行句子分析产生
//空格及各种符号分割,去掉停止词,停止词包括 is,are,in,on,the等无实际意义的词
StringReader reader = new StringReader(comment);
Analyzer analyzer = new StopAnalyzer();
TokenStream tStream = analyzer.tokenStream("", reader);
Token t;
try {
while ((t = tStream.next()) != null) {
//对每个单词采用
System.out.print(t.termText()+" ");
}
System.out.println((i++)+"条描述分词结束!");
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
注:数据来源于数据库中......
Lucene中Analyzer语句分析的更多相关文章
- 《Lucene in Action 第二版》第4章节 学习总结 -- Lucene中的分析
通过第四章的学习,可以了解lucene的分析过程是怎样的,并且可以学会如何使用lucene内置分析器,以及自定义分析器.下面是具体总结 1. 分析(Analysis)是什么? 在lucene中,分析就 ...
- 免费的Lucene 原理与代码分析完整版下载
Lucene是一个基于Java的高效的全文检索库.那么什么是全文检索,为什么需要全文检索?目前人们生活中出现的数据总的来说分为两类:结构化数据和非结构化数据.很容易理解,结构化数据是有固定格式和结构的 ...
- Lucene 中的Tokenizer, TokenFilter学习
lucene中的TokenStream,TokenFilter之间关系 TokenStream是一个能够在被调用后产生语汇单元序列的类,其中有两个类型:Tokenizer和TokenFilte ...
- lucene中Field简析
http://blog.csdn.net/zhaoxiao2008/article/details/14180019 先看一段lucene3代码 Document doc = new Document ...
- 如何理解T-SQL中Merge语句
写在前面的话:之前看过Merge语句,感觉没什么用,完全可以用其他的方式来替代,最近又看了看Merge语句,确实挺好用,可以少写很多代码,看起来也很紧凑,当然也有别的优点. ====正文开始===== ...
- lucene中FSDirectory、RAMDirectory的用法
package com.ljq.one; import java.io.BufferedReader;import java.io.File;import java.io.FileInputStrea ...
- tsql语句分析工具 转
一款好用且免费的语句分析工具 在调优过程中的查询语句优化阶段,分析语句的执行计划是必经之路,一款好的执行计划分析工具确实可以帮助我们事半功倍 一款名为“Plan Explorer“,自己用的挺爽,不私 ...
- oracle过程中动态语句实现
oracle过程中动态语句实现 一般的PL/SQL程序设计中,在DML和事务控制的语句中可以直接使用SQL,但是DDL语句及系统控制语句却不能在PL/SQL中直接使用,要想实现在PL/SQL中使用DD ...
- mysql语句分析
explain的每个输出行提供一个表的相关信息,并且每个行包括下面的列: 1,id select识别符.这是select的查询序列号.2,select_type 可以为一下任何一种类型simple ...
随机推荐
- redis 主从复制 redis 探索
http://blog.csdn.net/column/details/12804.html
- (转)基于Metronic的Bootstrap开发框架经验总结(5)--Bootstrap文件上传插件File Input的使用
http://www.cnblogs.com/wuhuacong/p/4774396.html Bootstrap文件上传插件File Input是一个不错的文件上传控件,但是搜索使用到的案例不多,使 ...
- java StringUtils
/** * */ package com.sign.utils; import java.util.regex.Pattern; /** * @author Administrator * creat ...
- AOP注解形式 整合memcache
1.首先自定义注解 :添加缓存 @Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)@Documented@Inheritedp ...
- Uoj 52. 【UR #4】元旦激光炮 神题+交互题
Code: #include "kth.h" #include<iostream> int minn(int x,int y){return x<y?x:y;}; ...
- 复习MySQL④查询功能、连接方式、联合查询
用select语句查询: select〈目标列组〉 from〈数据源〉 [where〈元组选择条件〉] [group by〈分列组〉[having 〈组选择条件〉]] [order by〈排序列1〉〈 ...
- Day 1 初识python
1.Python简介 Python的历史 1989年圣诞节:Guido von Rossum开始写Python语言的编译器. 1991年2月:第一个Python编译器(同时也是解释器)诞生,它是用C语 ...
- 移动端 配置rem
<script> function Rem() { var docEl = document.documentElement, oSize = docEl.clientWidth / 7. ...
- TFS代码迁移Git
描述 将TFS上的代码迁移到Git做版本控制. 参考地址 tfs-git下载:https://github.com/git-tfs/git-tfs/releases chocolatey安装:http ...
- VMware无法安装故障总结
暂时遇到如下问题,并按此步骤可以解决,后续如有其它相关问题将继续更新: 1.无法获得 VMCI 驱动程序的版本: 句柄无效.如下图: 找到.vmx后缀配置文件 将如下白标""TRU ...