Lucene中文分词Demo
import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import net.paoding.analysis.analyzer.PaodingAnalyzer;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
public class TestFileIndex {
public static void main(String[] args) throws Exception {
String dataDir= "d:/data";
String indexDir= "d:/luceneindex";
File[] files= new File(dataDir).listFiles();
System.out.println(files.length);
Analyzer analyzer= new PaodingAnalyzer();
Directory dir=FSDirectory.open( new File(indexDir));
IndexWriter writer= new IndexWriter(dir, analyzer, IndexWriter.MaxFieldLength.UNLIMITED);
for( int i=0;i<files.length;i++){
StringBuffer strBuffer= new StringBuffer();
String line="";
FileInputStream is= new FileInputStream(files[i].getCanonicalPath());
BufferedReader reader= new BufferedReader( new InputStreamReader(is, "gb2312"));
line=reader.readLine();
while(line != null){
strBuffer.append(line);
strBuffer.append( "\n");
line=reader.readLine();
}
Document doc= new Document();
doc.add( new Field( "fileName", files[i].getName(), Field.Store.YES, Field.Index.ANALYZED));
doc.add( new Field( "contents", strBuffer.toString(), Field.Store.YES, Field.Index.ANALYZED));
writer.addDocument(doc);
reader.close();
is.close();
}
writer.optimize();
writer.close();
dir.close();
System.out.println( "ok");
}
}
import java.io.File;
import net.paoding.analysis.analyzer.PaodingAnalyzer;
import org.apache.lucene.analysis.Analyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.queryParser.QueryParser;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopDocs;
import org.apache.lucene.store.Directory;
import org.apache.lucene.store.FSDirectory;
import org.apache.lucene.util.Version;
public class TestFileSearcher {
public static void main(String[] args) throws Exception {
String indexDir = "d:/luceneindex";
Analyzer analyzer = new PaodingAnalyzer();
Directory dir = FSDirectory.open( new File(indexDir));
IndexSearcher searcher = new IndexSearcher(dir, true);
QueryParser parser = new QueryParser(Version.LUCENE_29, "contents",analyzer);
Query query = parser.parse( "呼救");
//Term term=new Term("fileName", "大学");
//TermQuery query=new TermQuery(term);
TopDocs docs=searcher.search(query, 1000);
ScoreDoc[] hits=docs.scoreDocs;
System.out.println(hits.length);
for( int i=0;i<hits.length;i++){
Document doc=searcher.doc(hits[i].doc);
System.out.print(doc.get( "fileName")+ "--:\n");
System.out.println(doc.get( "contents")+ "\n");
}
searcher.close();
dir.close();
}
}
本文出自 “李新博客” 博客,请务必保留此出处http://kinglixing.blog.51cto.com/3421535/702663
Lucene中文分词Demo相关推荐
- 转 Lucene中文分词组件 JE-Analysis 1.5.1 天狼
2006-05-29 17:40 主题: [发布]Lucene中文分词组件 JE-Analysis 1.5.1 天狼 注册于: 2006-05-28 00:23 帖子总数: 103 离线 ...
- 当前几个主要的Lucene中文分词器的比较
http://blog.fulin.org/2009/08/lucene_chinese_analyzer_compare.html 1. 基本介绍: paoding :Lucene中文分词" ...
- 11大Java开源中文分词器的使用方法和分词效果对比,当前几个主要的Lucene中文分词器的比较...
本文的目标有两个: 1.学会使用11大Java开源中文分词器 2.对比分析11大Java开源中文分词器的分词效果 本文给出了11大Java开源中文分词的使用方法以及分词结果对比代码,至于效果哪个好,那 ...
- java lucene 中文分词_Lucene的中文分词器IKAnalyzer
分词器对英文的支持是非常好的. 一般分词经过的流程: 1)切分关键词 2)去除停用词 3)把英文单词转为小写 但是老外写的分词器对中文分词一般都是单字分词,分词的效果不好. 国人林良益写的IK Ana ...
- Lucene 中文分词器概述 与 Ik-Analyzer 使用教程
目录 中文分词器简述 Ik-Analyzer 概述与特性 Ik-Analyzer 下载与使用 创建索引 查询索引 Ik-Analyzer 官方示例源码 中文分词器简述 1.Apache Lucene ...
- 全文检索lucene中文分词的一些总结
为什么80%的码农都做不了架构师?>>> 全文检索几乎是所有内容管理系统软件(CMS)必备的功能,在对公司的CMS产品的开发维护过程中,全文检索始终是客户重点关注的模块,为满足 ...
- 分享Lucene中文分词组件IK Analyzer V3.2.8
IK Analyzer 3.X介绍 IK Analyzer是一个开源的,基于java诧言开发的轻量级的中文分词工具包.从2006年12月推出1.0版开始, IKAnalyzer已经推出了3个大版本 ...
- (转)Lucene中文分词图解
本文记录Lucene+Paoding的使用方法图解: 一.下载Lucene(官网:http://archive.apache.org/dist/lucene/java/)本文中使用的是:2.9.4,下 ...
- Lucene 中文分词器 Ik-Analyzer 使用教程
参考: https://blog.csdn.net/wangmx1993328/article/details/82258785
最新文章
- Python的GIL是什么鬼,多线程性能究竟如何
- DWR小结DWRUtil篇
- winxp批处理重启计算机,WinXP使用关机命令shutdown的方法
- 【Java并发编程】并发之痛 Thread,Goroutine,Actor
- hibernate正向生成数据库表以及配置——Teacher.hbm.xml
- 通过profile 用maven命令打不同配置的变量包
- linux中在工作空间编译cpp,linux tensorflow2.4.0 c++ 编译
- Java开发者必备:超全的Java问题排查工具单
- 用c语言实现相机坐标的过滤,华为2014年机试题【字符串过滤】-【C语言/C++】
- 开发是在什么部门办理_房产证办理流程是什么?办理房产证需要缴纳哪些费用?...
- 读贾志鹏线性筛有感 (莫比乌斯函数的应用)
- oracle 11g r2 rac中节点时间不同步,Oracle 11gR2 安装RAC错误之--时钟不同步
- AJAX培训第一讲:AJAX基础
- 解决WebStorm中文显示不正常的问题
- 如何u盘全新安装xp系统?
- 【Python数据科学】多表关联 merge、join、concat
- sql server关系代数练习--进阶
- 目标检测 | YOLO系列超全讲解v1,v2,v3
- python检测键盘输入termios、等待按键超时检测
- java本地Cache缓存的使用