(转)Lucene中文分词图解
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
转载于:https://www.cnblogs.com/116913829/p/4391712.html
(转)Lucene中文分词图解相关推荐
- 当前几个主要的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中文分词组件 JE-Analysis 1.5.1 天狼
2006-05-29 17:40 主题: [发布]Lucene中文分词组件 JE-Analysis 1.5.1 天狼 注册于: 2006-05-28 00:23 帖子总数: 103 离线 ...
- Lucene 中文分词器概述 与 Ik-Analyzer 使用教程
目录 中文分词器简述 Ik-Analyzer 概述与特性 Ik-Analyzer 下载与使用 创建索引 查询索引 Ik-Analyzer 官方示例源码 中文分词器简述 1.Apache Lucene ...
- Lucene中文分词Demo
本文记录Lucene+Paoding的使用方法图解: 一.下载Lucene(官网:http://archive.apache.org/dist/lucene/java/)本文中使用的是:2.9.4,下 ...
- 全文检索lucene中文分词的一些总结
为什么80%的码农都做不了架构师?>>> 全文检索几乎是所有内容管理系统软件(CMS)必备的功能,在对公司的CMS产品的开发维护过程中,全文检索始终是客户重点关注的模块,为满足 ...
- 分享Lucene中文分词组件IK Analyzer V3.2.8
IK Analyzer 3.X介绍 IK Analyzer是一个开源的,基于java诧言开发的轻量级的中文分词工具包.从2006年12月推出1.0版开始, IKAnalyzer已经推出了3个大版本 ...
- Lucene 中文分词器 Ik-Analyzer 使用教程
参考: https://blog.csdn.net/wangmx1993328/article/details/82258785
最新文章
- (转)koogra--Excel文件读取利器
- ubuntu 14.04 安装 vmware 10 X64 后无法启动解决方法
- 全球及中国汽车轮胎再制造市场销售产值与运营发展模式分析报告2022年
- 【Java学习笔记四】Java中的包
- 如何找出光纤微米级别的脏污?女朋友的一个举动给了我灵感
- ROS 基础: 在同一个节点里订阅和发布消息
- 架设WIN32汇编程序的开发环境
- ImportError: No module named managers
- 刷题42-m升水倒入n个杯子(动态规划)
- python绘图小dome
- 计算机学科专业知识两门课,计算机学科两门专业课的融会贯通教学改革探讨
- 重置微信内置浏览器字体大小
- Linux环境下部署Dubbo 监控中心
- ltoa() 、itoa()函数实现
- 360网站卫士SQL注入绕过案例一个
- IDEA创建JavaWeb项目配置
- html代码正方形变椭圆,椭圆伸缩变换公式
- 全球与中国Autodesk渠道合作伙伴市场现状及未来发展趋势
- 7.11 读《如何阅读一本书》有感
- AcWing寒假每日一题 蹄球