`
deepfuture
  • 浏览: 4400532 次
  • 性别: Icon_minigender_1
  • 来自: 湛江
博客专栏
073ec2a9-85b7-3ebf-a3bb-c6361e6c6f64
SQLite源码剖析
浏览量:80078
1591c4b8-62f1-3d3e-9551-25c77465da96
WIN32汇编语言学习应用...
浏览量:70048
F5390db6-59dd-338f-ba18-4e93943ff06a
神奇的perl
浏览量:103358
Dac44363-8a80-3836-99aa-f7b7780fa6e2
lucene等搜索引擎解析...
浏览量:285819
Ec49a563-4109-3c69-9c83-8f6d068ba113
深入lucene3.5源码...
浏览量:15014
9b99bfc2-19c2-3346-9100-7f8879c731ce
VB.NET并行与分布式编...
浏览量:67566
B1db2af3-06b3-35bb-ac08-59ff2d1324b4
silverlight 5...
浏览量:32153
4a56b548-ab3d-35af-a984-e0781d142c23
算法下午茶系列
浏览量:45991
社区版块
存档分类
最新评论

lucene入门-使用JE中文分词

阅读更多

基于词库的算法分词,是较好的中文分词器

package busetoken;
import java.io.IOException;

import jeasy.analysis.MMAnalyzer;

public class UseJe {

/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
// TODO Auto-generated method stub
String s="编码规范从根本上解决了程序维护员的难题;规范的编码阅读和理解起来更容易,也可以快速的不费力气的借鉴别人的编码。对将来维护你编码的人来说,你的编码越优化,他们就越喜欢你的编码,理解起来也就越快。";
MMAnalyzer mm=new MMAnalyzer();
System.out.print(mm.segment(s, "|"));

}

}

效果如下

编码|规范|从根本上|解决|程序|维护|员|难题|规范|编码|阅读|理解|起来|更|容易|也可以|快速|不费力气|借鉴|别人|编码|将来|维护|你|编码|的人|来说|你的|编码|越|优化|他们|就越|喜欢|你的|编码|理解|起来|也就|越快|

建立索引

package bindex;
import java.io.File;
import tool.FileText;
import tool.FileList;
import java.io.*;

import org.apache.lucene.document.Document;
import org.apache.lucene.document.Field;
import org.apache.lucene.index.CorruptIndexException;
import org.apache.lucene.index.IndexWriter;
import jeasy.analysis.MMAnalyzer;
import org.apache.lucene.store.LockObtainFailedException;
public class FileIndexer {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String indexPath ="indexes";
try {
IndexWriter indexWriter = new IndexWriter(indexPath,new MMAnalyzer());
String[] files=FileList.getFiles("htmls");
int num=files.length;
for(int i=0;i<num;i++){
Document doc=new Document();
File f=new File(files[i]);

String name=f.getName();
String content=FileText.getText(f);
String path=f.getPath();
Field field=new Field("name",name,Field.Store.YES,Field.Index.TOKENIZED);
doc.add(field);
field=new Field("content",content,Field.Store.YES,Field.Index.TOKENIZED);
doc.add(field);
field=new Field("path",path,Field.Store.YES,Field.Index.NO);
doc.add(field);
indexWriter.addDocument(doc);
System.out.println("File:"+path+name+" indexed!");
}
System.out.println("OK!");
indexWriter.close();
} catch (CorruptIndexException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (LockObtainFailedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

搜索

package bindex;
import java.io.IOException;
import java.lang.StringBuffer;

import org.apache.lucene.index.*;
import org.apache.lucene.search.*;
import org.apache.lucene.document.*;


public class BindexSearcher {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
String indexPath="indexes";
String searchField="content";
String searchPhrase="安全";
StringBuffer sb=new StringBuffer("");

try {
IndexSearcher searcher=new IndexSearcher(indexPath);
Term t=new Term(searchField,searchPhrase);
Query q=new TermQuery(t);
Hits hs=searcher.search(q);
int num=hs.length();
for (int i=0;i<num;i++){
Document doc=hs.doc(i);
Field fname=doc.getField("name");
Field fcontent=doc.getField("content");
sb.append("name:\n");
sb.append(fname.stringValue()+"\n");
sb.append("content:\n");
sb.append(fcontent.stringValue().substring(0, 100)+"\n");
sb.append("------------"+"\n");
}
searcher.close();
System.out.println(sb);
} catch (CorruptIndexException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}

0
0
分享到:
评论

相关推荐

    je-analysis-1.5.3、lucene-core-2.4.1分词组件

    在2.4.1这个版本中,Lucene已经包含了对中文分词的支持,可以与各种分词器如jieba、IK、HanLP等配合使用,实现更精准的中文搜索。Je-Analysis可以作为Lucene的分词插件,提供对中文文本的预处理服务,使得Lucene能更...

    lucene-analyzers-smartcn-7.7.0-API文档-中文版.zip

    标签:apache、lucene、analyzers、smartcn、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...

    lucene-core-7.7.0-API文档-中文版.zip

    标签:apache、lucene、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    lucene-analyzers-common-6.6.0-API文档-中文版.zip

    标签:apache、analyzers、common、lucene、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明...

    MMAnalyzer 分词jar包(lucene-core-2.4.1.jar je-analysis-1.5.3.jar)

    Jeasy Analysis是为了简化中文分词而设计的,它主要由"je-analysis-1.5.3.jar"这个文件组成。这个分词器在Lucene的基础上,针对中文特性进行了优化,提高了分词效率和准确性,尤其适合对易读性和速度有较高要求的...

    lucene-core-7.2.1-API文档-中文版.zip

    标签:apache、lucene、core、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    lucene je-analysis jar包

    JE-Analysis是针对Java环境的中文分词工具,它是基于Lucene进行扩展和优化的,特别适合处理中文文本。它提供了丰富的分词策略,如基于词典的精确分词、基于统计的分词等,可以有效地处理中文的复杂性,如词语的歧义...

    MMAnalyzer 分词必导入jar包(lucene-core-2.4.1.jar je-analysis-1.5.3.jar)

    通过以上介绍,我们了解到MMAnalyzer作为JeasyAnalysis的一部分,是进行中文分词的重要工具,而`lucene-core-2.4.1.jar`则是其背后的基石,提供了必要的搜索和分析功能。正确地理解并使用这两个库,可以帮助开发者在...

    lucene-suggest-6.6.0-API文档-中文版.zip

    标签:apache、lucene、suggest、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    Lucene中文分词组件 JE-Analysis 1.5.1

    //采用正向最大匹配的中文分词算法,相当于分词粒度等于0 MMAnalyzer analyzer = new MMAnalyzer(); //参数为分词粒度:当字数等于或超过该参数,且能成词,该词就被切分出来 MMAnalyzer analyzer = new ...

    lucene-core-2.3.0 lucene-core2.4.0以及极易分词器 jar包

    `je-analysis-1.5.1` 是该分词器的一个版本,它为Lucene提供了一套专门针对中文的分词规则和算法,能够有效地将中文文本切分成有意义的词语,这是构建中文搜索引擎时必不可少的步骤。极易分词器的特点可能是易于使用...

    lucene-backward-codecs-7.3.1-API文档-中英对照版.zip

    包含翻译后的API文档:lucene-backward-codecs-7.3.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.apache.lucene:lucene-backward-codecs:7.3.1; 标签:apache、lucene、backward、codecs、中英...

    lucene-core-6.6.0-API文档-中文版.zip

    标签:core、apache、lucene、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心...

    lucene-sandbox-7.2.1-API文档-中文版.zip

    标签:apache、lucene、sandbox、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    hanlp-lucene-plugin, HanLP中文分词Lucene插件,支持包括Solr在内的基于Lucene的系统.zip

    汉纳拼音Lucene插件(hanlp-lucene-plugin)是一个专为中文处理设计的扩展工具,它将著名的HanLP中文分词库与流行的全文检索框架Lucene进行了集成,旨在提升在Lucene及其衍生产品(如Solr)中的中文处理能力。...

    lucene-highlighter-6.6.0-API文档-中文版.zip

    标签:apache、highlighter、lucene、jar包、java、中文文档; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译...

    lucene第一步---5.中文分词IKAnalyzer和高亮highlighter的使用

    中文分词IKAnalyzer和高亮highlighter的使用”指出,这个主题将探讨如何在Lucene中应用IKAnalyzer进行中文分词,以及如何使用高亮器(highlighter)来突出搜索结果中的关键词。Lucene是Apache软件基金会的一个开放源...

    lucene-spatial-extras-7.3.1-API文档-中英对照版.zip

    包含翻译后的API文档:lucene-spatial-extras-7.3.1-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.apache.lucene:lucene-spatial-extras:7.3.1; 标签:apache、lucene、spatial、extras、中英对照...

    lucene-suggest-7.7.0-API文档-中文版.zip

    标签:apache、lucene、suggest、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请...

    lucene-analyzers-smartcn-7.7.0-API文档-中英对照版.zip

    包含翻译后的API文档:lucene-analyzers-smartcn-7.7.0-javadoc-API文档-中文(简体)-英语-对照版.zip; Maven坐标:org.apache.lucene:lucene-analyzers-smartcn:7.7.0; 标签:apache、lucene、analyzers、smartcn...

Global site tag (gtag.js) - Google Analytics