Talk is Cheap, Show me the Code! <<网站首页文章列表

  • 搜索引擎进阶——IK扩展之动态加载与同义词

    前言 IKAnalyzer是一个开源的,基于java语言开发的轻量级的中文分词工具包。他最初是由林良益老师团队开发并维护的。 IK对应Lucene版本为4.7.2,其实IK针对不同版本的Lucene可以进行定制化的修改以达到适用的目的。 词库动态加载的关键类是org.apache.lucene.analysis.Tokenizer和org.apache.lucene.analysis.util.TokenizerFactory。 同义词扩展的关键类是org.apache.lucene.analysis.synonym.SynonymFilter和org.apache.lucene.analysis.util.TokenFilterFactory。---![图片](https://www.oomabc.com/staticsrc/img/201809/14/1536859583364974be33e584945cf80c52e29ab816a99.jpg) -------- 必要信息解释Term是一个最小搜索单元,Lucene中有个Term和对应的TermQuery;Token应该是分词过程中记录一些分词信息的对象。 然后我特意下载lucene-core-4.7.1进行查看,看到Token这类上面是这么写的:![图片](https://www.oomabc.com/staticsrc/img/201809/14/1536859689260271527901b7f487e83cd4bed7aa909bf.jpg) 我用非常蹩脚的英语水平,大致翻译一下主要内容就是:Token是一种在对文本进行分词时产生的对象,包含分词对象(Term)的词语内容,词语在文本中的开始、结束位置,和一个词语类型(关键字、停用词)字符串。开始、结束位置这两个参数,可以在做文本高亮或者摘要高亮的时候使用。从Lucene的2.9版本开始,Token这个类就不再建议使用了,推荐用Attuibutes这个接口对应的实现类代替。新版本取得分词信息方式如下:javaAnalyzer analyzer new StandardAnalyzer(Version.LUCENE47);String text "利用 Lucene 进行搜索就像建立索引一样也是非常方便的。";TokenStream tokenStream analyzer.tokenStre

    搜索引擎   IK   分词器扩展   Solr   Java   2019-07-24 浏览(4388) 阅读原文>>
  • 1 
    blogTest
    分享文章
     
    使用APP的"扫一扫"功能,扫描左边的二维码,即可将网页分享给别人。
    你也可以扫描右边本博客的小程序二维码,实时关注最新文章。