Lucene47IKAnalyzer中文分词入门教程.docx

上传人:p** 文档编号:1058557 上传时间:2024-06-29 格式:DOCX 页数:22 大小:23.73KB
下载 相关 举报
Lucene47IKAnalyzer中文分词入门教程.docx_第1页
第1页 / 共22页
Lucene47IKAnalyzer中文分词入门教程.docx_第2页
第2页 / 共22页
Lucene47IKAnalyzer中文分词入门教程.docx_第3页
第3页 / 共22页
Lucene47IKAnalyzer中文分词入门教程.docx_第4页
第4页 / 共22页
Lucene47IKAnalyzer中文分词入门教程.docx_第5页
第5页 / 共22页
Lucene47IKAnalyzer中文分词入门教程.docx_第6页
第6页 / 共22页
Lucene47IKAnalyzer中文分词入门教程.docx_第7页
第7页 / 共22页
Lucene47IKAnalyzer中文分词入门教程.docx_第8页
第8页 / 共22页
Lucene47IKAnalyzer中文分词入门教程.docx_第9页
第9页 / 共22页
Lucene47IKAnalyzer中文分词入门教程.docx_第10页
第10页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Lucene47IKAnalyzer中文分词入门教程.docx》由会员分享,可在线阅读,更多相关《Lucene47IKAnalyzer中文分词入门教程.docx(22页珍藏版)》请在第壹文秘上搜索。

1、1.ucene4.7+IKAnaIyZer中文分词入门教程作者:大明日期:2019-4-1环境:1. IUCene版本:4.7下载地址:下载页面中的2. IKAnaIyZer版本:IKAnalyer2019-FFHotfix1下载地址:选择最上面的源码包。目前只有这个源码包才能支持Iucene的4.7版本。3. 参考文章:此篇文章作者用的是IUCCne3.5版本,我做了肯定幅度的修改,使其在4.7中可用。下面进入正式部署阶段:1 .在eelipse中新建一个java项目:Iucenetest2 .解压3 .进入到解压后的书目,搜寻*.jar4 .搜寻出来的结果是lucene4.7供应的全部的j

2、ar包,依据须要拷贝不同的jar包到自己的工程。本例子须要如下几个jar包:5 .将以上几个Jar包拷贝到Iucenetest下的Iib文件夹下,假如没有lib,则新建。6 .在eclipse中,打开lib,选中这儿个jar包,点右键一buildparhaddtobuildpath7,解压下载的IKAnalyzer2019FF_hfl_source.rar8 .进入到IKAnalyzer2019FFIf1.SOUrCesrc将如下全部的文件拷贝到IUCCneteslsrc下9 .刷新eclipse工程。假如源码报错,可能是编码格式的问题。解决方法:在Iuccnetest上点右键,选择最终一项P

3、roperties0如下图所示选择Utf-8,点确定10 .至此,环境已经搭建完毕。假如嫌ik的源码烦,可以自行打成jar包。目前eclipse项目的结构图如下:11 .加入测试的例子。在src新建ik包,新建下面3个Java文件(I)DataFactorypackageik:importjava.util.Array1.ist;importjava.util.1.ist;publicclassDataFactoryprivatestaticDataFactorydataFactory=newDataFactoryO;privateDataFactoryOpublic1.istgetDataO

4、1.istlist=newArray1.ist();list.add(newMedicine。,”银花感冒颗粒,功能主治:银花感冒颗粒,头痛,清热,解表,利咽.”);list,add(newMedicine(2,感冒止咳糖浆功能主治:感冒止咳糖浆,解表清热,止咳化痰。”);list,add(newMedicine(3,感冒灵颗粒功能主治:解热镇痛。头痛,清热。”);list.add(newMedicine(4,感冒灵胶奏功能主治:银花感冒颗粒,头痛,清热,解表,利咽。”);list.add(ne睛MediCine(5,仁和感冒颗粒功能主治:疏风清热,宣肺止咳,解表清热,止咳化痰);return

5、list;)publicstaticDataFactorygetInstanceOreturndataEactory;(2)1.uceneIKUtilpackageik:importjava.io.FiIe;importjava.io.IOException;importjava,uti1.Array1.ist;importjava.util.1.ist:importorg.apache.Iucene.analysis.Analyzer:importorg.apache.Iucene.document.Document;importorg.apache.Iucene.document.Fiel

6、d;importorg.apache.Iucene.document.FieldType;importorg.apache.Iucene.document.TextField;importorg.apache.Iucene.index.DirectoryReader;importorg.apache.Iucene.index.IndexReader:importorg.apache.Iucene.index.IndexWriter;importorg.apache,lcene.index.IndexWriterConfig;importorg.apache.Iucene.index.Term;

7、import0rg.apache.Iucene.queryparser,classic.MultiFieldQueryParser;importorg.apache.Iucene.search.IndexSearcher;importorg.apache.Iucene.search.Query;importorg.apache.Iucene.search.ScoreDoc;importorg.apache.Iucene.searchDocs:importorg.apache,ucene.search,highlight.Formatter;importorg.apache.Iucene.sea

8、rch,highlight.Fragmenter:importorg.apache,ucene.search,highlight.Highlighter;importorg.apache.Iucene.search,highlight.QueryScorer;importorg.apache,uce11e.search,highlight.Scorer;importorg.apache.Iucene.search,highlight.SimpleFragmcnler;importorg.apache.Iucene.search,highlight.SimpleHTU1.Formatter;im

9、portorg.apache.Iucene.store.Directory;importorg.apache,ucene.store.FSDirectory;importorg.apache.Iucene.util.Version;importorg.wltea.analyzer.Iuccnc.TKAnalyzer;publicclass1.uceneIKUtilprivateDirectorydirectory:privateAnalyzeranalyzer;*带参数构造,参数用来指定索引文件书目pubic1.uceneIKUtil(StringindexFiIcPath)try(direc

10、tory=FSDirectory.open(newFile(indexFiIePath);analyzer=newIKAnalyzerO:catch(IOExceptione)e.PrintStackTraceO;)* 创建索引* Description:* authordennisitQ163Apr3,2019* throwsException* /publicvoidCreateIndex()throwsExceptionIndexWriterConfigindexWr1.terConfig=newIndexWriterConfig(Version.1.UCENE_47,analyzer)

11、;IndexWriterindexWriter=newIndexWriter(directory,indexWriterConfig);indexWriter.deletellO;1.istlistDataFactory.getInstanceO.getDataO;for(inti=0;ilist.size();i+)Medicinemedicine=list.get(i);DocumentdocumentaddDocument(medicine,getIclO,medicine.getName(),medicine.gctFunction();/indexWriter.addDocument

12、(document);假如用添加,每次都是新的。所以须要用UPdaIeindexWriter.UpdateDocument(newTenn(id,medicine,getld().IoString(),document);indexWriter.closeO;I* Description:* 触IUIhordennisit0163Apr3,2019* paramid* paramcontent* return* /publicDocumentaddDocument(Integerid,Stringname,Stringfunction)(Documentdoc=newDocumentO;/Fi

13、eld.Index.NO表示不索引/Field.Index.ANA1.YZED表示分词且索引/Field.Index.NOT-N1.YZED表示不分词但索引/doc.add(newField(*id*,String,valuef(id),Field.Store.YES,Field.Index.NOT_ANA1.YZED);/doc.add(newField(name”,name,Field.Store.YES,Field.Index.ANA1.YZED)/doc.add(newField(function”,function,Field.Store.YES,Field.Index.AN1.YZ

14、ED);FieldTypeft=newFieldTypeO:ft.SetStored(true);ft.SetIndexed(true):ft.setTokenized(false);doc.add(newField(id”,String.VaIUeOf(id),ft);doc.add(newField(name”,name,TextField.TYPE_STORED);doc.add(newField(*function*,function,TextField.TYPE_STORED):returndoc:)* Description:更新索引* authordennisit163Apr3,

15、2019* Wparamid* paramtitle* Paramcontent* /publicvoidupdate(Integerid,Stringtitle,Stringcontent)try(IndexWriterConfigindexWriterConfig=new1ndexWriterConfig(Version.1.UCENE_47,analyzer);IndexWriter(directory,indexWriterConfig);Documentdocument=addDocumcnt(id,title,content);Termterm=newTerm(id”,String,valuef(id);indexWriter.UpdateDocument(te

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 网络资源

copyright@ 2008-2023 1wenmi网站版权所有

经营许可证编号:宁ICP备2022001189号-1

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。第壹文秘仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知第壹文秘网,我们立即给予删除!