网站建设资讯

NEWS

网站建设资讯

java分词器代码 最好用的java中文分词器

java 怎么用lucenes进行分词

import java.io.IOException;

公司主营业务:成都网站建设、网站制作、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。成都创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。成都创新互联推出六枝免费做网站回馈大家。

import org.apache.lucene.analysis.Analyzer;

import org.apache.lucene.document.Document;

import org.apache.lucene.document.Field;

import org.apache.lucene.document.StringField;

import org.apache.lucene.document.TextField;

import org.apache.lucene.index.CorruptIndexException;

import org.apache.lucene.index.DirectoryReader;

import org.apache.lucene.index.IndexReader;

import org.apache.lucene.index.IndexWriter;

import org.apache.lucene.index.IndexWriterConfig;

import org.apache.lucene.index.IndexWriterConfig.OpenMode;

import org.apache.lucene.queryparser.classic.ParseException;

import org.apache.lucene.queryparser.classic.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.LockObtainFailedException;

import org.apache.lucene.store.RAMDirectory;

import org.apache.lucene.util.Version;

import org.wltea.analyzer.lucene.IKAnalyzer;

/**

* 使用IKAnalyzer进行Lucene索引和查询的演示

* 2012-3-2

*

* 以下是结合Lucene4.0 API的写法

*

*/

public class LuceneIndexAndSearchDemo {

/**

* 模拟:

* 创建一个单条记录的索引,并对其进行搜索

* @param args

*/

public static void main(String[] args){

//Lucene Document的域名

String fieldName = "text";

//检索内容

String text = "IK Analyzer是一个结合词典分词和文法分词的中文分词开源工具包。它使用了全新的正向迭代最细粒度切分算法。";

//实例化IKAnalyzer分词器

Analyzer analyzer = new IKAnalyzer(true);

Directory directory = null;

IndexWriter iwriter = null;

IndexReader ireader = null;

IndexSearcher isearcher = null;

try {

//建立内存索引对象

directory = new RAMDirectory();

//配置IndexWriterConfig

IndexWriterConfig iwConfig = new IndexWriterConfig(Version.LUCENE_40 , analyzer);

iwConfig.setOpenMode(OpenMode.CREATE_OR_APPEND);

iwriter = new IndexWriter(directory , iwConfig);

//写入索引

Document doc = new Document();

doc.add(new StringField("ID", "10000", Field.Store.YES));

doc.add(new TextField(fieldName, text, Field.Store.YES));

iwriter.addDocument(doc);

iwriter.close();

//搜索过程**********************************

//实例化搜索器

ireader = DirectoryReader.open(directory);

isearcher = new IndexSearcher(ireader);

String keyword = "中文分词工具包";

//使用QueryParser查询分析器构造Query对象

QueryParser qp = new QueryParser(Version.LUCENE_40, fieldName, analyzer);

qp.setDefaultOperator(QueryParser.AND_OPERATOR);

Query query = qp.parse(keyword);

System.out.println("Query = " + query);

//搜索相似度最高的5条记录

TopDocs topDocs = isearcher.search(query , 5);

System.out.println("命中:" + topDocs.totalHits);

//输出结果

ScoreDoc[] scoreDocs = topDocs.scoreDocs;

for (int i = 0; i topDocs.totalHits; i++){

Document targetDoc = isearcher.doc(scoreDocs[i].doc);

System.out.println("内容:" + targetDoc.toString());

}

} catch (CorruptIndexException e) {

e.printStackTrace();

} catch (LockObtainFailedException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

} catch (ParseException e) {

e.printStackTrace();

} finally{

if(ireader != null){

try {

ireader.close();

} catch (IOException e) {

e.printStackTrace();

}

}

if(directory != null){

try {

directory.close();

} catch (IOException e) {

e.printStackTrace();

}

}

}

}

}

java如何分词??

如果你的分词规则是在一个字符串的开头和结尾加上"_",然后两个字符一分的话,代码可以这样写:

import java.util.ArrayList;

import java.util.List;

public class Participle

{

private static final String HEAD_END_STR = "_";

private static final int PARTICIPLE_LENGTH = 2;

public static void main(String[] args)

{

String exampleWord = "计算机";

exampleWord = "_" + exampleWord + "_";

int length = exampleWord.length();

ListString result = new ArrayListString();

for (int i = 0; i length - 1; i++)

{

String str = exampleWord.substring(i, i + PARTICIPLE_LENGTH);

result.add(str);

}

System.out.println(result);

}

}

输出结果:_计, 计算, 算机, 机_

谁来推荐一个JAVA的分词工具

java读取中文分词工具:linger

Java开源中文分词器

1、word分词器

2、Ansj分词器

3、Stanford分词器

4、FudanNLP分词器

5、Jieba分词器

6、Jcseg分词器

7、MMSeg4j分词器

8、IKAnalyzer分词器

9、Paoding分词器

10、smartcn分词器

java word分词器怎样安装在java中

word分词是一个Java实现的分布式的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。

如果需要安装word分词器可以参考下面的步骤:

1、确保电脑上已经安装了JDK软件和Eclispe工具,没有安装的可以到对应的官网下载安装:

JDK官网:

Eclipse官网:

2、下载word分词器的相关jar包:

打开word分词器的官方github主页:

下拉找到ReadME部分,点击“编译好的jar下载”:

页面将会跳转到到百度云盘的下载页面,按照需求下载指定的版本即可。

注意:word1.3需要JDK1.8。

下载完成之后解压到指定目录。

3、创建Java项目,导入word分词器的相关jar包:

打开Eclipse,右键创建Java project项目:

然后右键项目选择Build path打开导入页面,导入刚才下载的jar包到项目中:

导入成功之后就可以在自己的项目中使用word分词器了。


当前名称:java分词器代码 最好用的java中文分词器
分享URL:http://cdweb.net/article/dddgggd.html