改写IKAnalyzer分词器

2024-01-21 09:08
文章标签 分词器 改写 ikanalyzer

本文主要是介绍改写IKAnalyzer分词器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

ik4solr4.3

solr4.3的ik分词器([https://github.com/lgnlgn/ik4solr4.3] 主要改动不是我完成的,只是指点。使用maven)

  • 支持从solr自己的环境中获取自定义词典(使用solr的ResourceLoader, 只需要把字典文件放到conf目录里)

  • 增加一个定时更新的停用词、同义词工厂类


============我是分割线====以下是详细说明================

[html]  view plain copy
  1. 6.1新增功能说明  
  2. ①、由分级判断改为权重判断,增加了单字权重判断。   
  3.     在org.wltea.analyzer.core包中LexemePath.java:compareTo(LexemePath)函数  
  4.   
  5. ②、增加了单字字频字典,除去了停止字典(交给stopFilter处理)  
  6. 在org.wltea.analyzer.dic包中Dictionary.java:  
  7.  /* 单字带词频词典 */  
  8. private DictCharNode _CharFreqDict;  
  9.   
  10. 在DictCharNode.java中:  
  11. 用HashMap实现了单字和字频的存储。  
  12.   
  13. ③、实现solr的接口  
  14. 在org.wltea.analyzer.lucene包中。  
  15. 一、IKHandler.java:用于处理HTTP请求,现只实现主词典的动态请求加载。  
  16.     请求参数:http://xxx/ikupdate?dicpath=dic.txt  
  17.     注意事项:1、多个字典文件以逗号分隔。  
  18.               2、在Zookeeper集群上时,得先上传修改后的字典文件,再更新。  
  19.     使用方法:需在solrconfig.xml中配置  
  20. <requestHandler name="/ikupdate" class="org.wltea.analyzer.lucene.IKHandler">  
  21.     <lst name="defaults">  
  22.     </lst>   
  23. </requestHandler>  
  24. 可以配置默认参数  
  25. <str name=”dicpath”>dic.txt</str>  
  26.   
  27. 二、IKTokenizerFactory.java  
  28. IKTokenizer.java:用于生成IK分词器实例对象。  
  29.     注意事项:IK共用一个字典文件,主字典和扩展字典都加载在_MainDict中。  
  30.     使用方法:在schema.xml中,增加dicpath配置项,每次生成对象时,都会加载。  
  31.               字典重建已封装在Dictionary类中,addDic2MainDic()函数  
  32.   
  33. 三、IKStopFilter.java  
  34. IKStopFilterFactory.java:停止词过滤  
  35. IKSynonymFilterFactory.java:同义词过滤  
  36.     注意事项:1、字典的切换采用solr默认接口实现  
  37.               2、2个过滤器在schema.xml均增加了autoupdate配置项,为true,则                     会定时去更新字典文件。  
  38.     使用方法:在schema.xml中,添加自己的过滤器类,增加配置项。  
  39.   
  40. 四、TimelyThread.java:  
  41. 停止词和同义词更新管理类,如果设置了autoupdate=true,则注册到此管理类中,由管理类定时去触发更新操作。  
  42.   
  43. 五、schema.xml示例  
  44.   
  45.   
  46.   
  47.   < fieldType name="text_cn" class="solr.TextField" positionIncrementGap="100" >          
  48.   
  49.   <analyzer type="index" >         
  50.     < tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" />  
  51.     < filter class="solr.StopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" />  
  52.    < filter class="solr.LowerCaseFilterFactory"/>  
  53.   < /analyzer>  
  54.   
  55.   < analyzer type="query">  
  56.     <tokenizer class="org.wltea.analyzer.lucene.IKTokenizerFactory" useSmart="true" dicPath="extDic.txt,extDic1.txt"/>  
  57.     <filter class="org.wltea.analyzer.lucene.IKStopFilterFactory" ignoreCase="true" words="stopwords.txt" enablePositionIncrements="true" autoupdate="true"/>  
  58.     <filter class="org.wltea.analyzer.lucene.IKSynonymFilterFactory" synonyms="synonyms.txt" ignoreCase="true" expand="true" autoupdate="true"/>  
  59.     <filter class="solr.LowerCaseFilterFactory"/>  
  60.   </analyzer>  
  61.   </fieldType>  

这篇关于改写IKAnalyzer分词器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/629021

相关文章

【docker】基于docker-compose 安装elasticsearch + kibana + ik分词器(8.10.4版本)

记录下,使用 docker-compose 安装 Elasticsearch 和 Kibana,并配置 IK 分词器,你可以按照以下步骤进行。此过程适用于 Elasticsearch 和 Kibana 8.10.4 版本。 安装 首先,在你的工作目录下创建一个 docker-compose.yml 文件,用于配置 Elasticsearch 和 Kibana 的服务。 version:

html记账本改写:数据重新布局,更好用了,没有localStorage保存版本

<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><title>htm记账本</title><style>table {user-select: none;/* width: 100%; */border-collapse: collapse;}table,th,td {border: 1px solid bla

5款ai智能改写工具,自动改写文章效率惊人

在这个信息迭代加速的时代,ai智能改写工具犹如一把魔法钥匙,轻轻一转,便能开启文章改写的大门。想象一下,那些曾经费尽心思打磨的文章,如今只需几秒钟,就能以全新的面貌示人,这不仅是一场效率的革命,更是创作者灵感迸发的源泉。下面,让我们一起探索这5款ai智能改写工具,让高质量的文章改写不再成为难题。   1、火呱ai写作   它是一款强大的ai写作工具,不仅能够对文章进行改写,而且还能根据

elasticsearch 2.3.4 java API 连接,ik分词器,设置集群节点,创建index,mapping的几种方式

1、默认集群连接 Client client = TransportClient.builder().build().addTransportAddress(new InetSocketTransportAddress(InetAddress.getByName("localhost"), 9300)); 2、自定义集群连接 Settings settings = S

AI智能写作工具,深度改写文章满足不同创作需求

在数字化时代的今天,信息的产生和传播速度惊人。对于创作者而言,无论是专业的文案工作者、学生,还是自媒体创作者,都面临着不断提高写作质量和效率的挑战。而AI智能写作工具的出现,为解决这些问题提供了全新且高效的途径,为用户提供深度改写文章的服务,满足不同的创作场景及需求。   AI智能写作工具一一一智媒ai伪原创平台,凭借其强大的语言处理能力和深度学习算法,能够对输入的文章进行深度改写。这种

重生之我们在ES顶端相遇第11 章 - 深入自定义语言分词器

文章目录 0. 前言1. 英语分词器2. 阿拉伯语分词器3. 结语 0. 前言 国内企业出海是大势所趋,那么基于不同的语种进行分词就显得尤为重要,因为这会让用户的搜索体验更棒! 国内出海企业,会更偏向于选择欧美、中东这 2 个地区。 因此本文章也重点介绍英语、阿拉伯语的分词。 在 ES 中内置的分词器中,有一个叫 Language analyzers,我们可以根据该分词

重生之我们在ES顶端相遇第10 章- 分分分词器的基本使用

文章目录 思维导图0. 前言1. 光速上手1.1 指定分词器1.2 测试分词器 2. 分词流程(重要)2.1 基本介绍2.2 深入如何测试分词器 3. 自定义一个简单的分词器 思维导图 0. 前言 分词器在 ES 搜索使用中非常关键,一个好的分词器能够提高搜索的质量,让用户搜索到其想要的内容。 下面我将带大家从整体了解分词器。 1. 光速上手 1.1 指定分词器

6款智能AI改写工具,自动改写文章更高效

在信息爆炸的时代,优质的内容创作成为了吸引读者目光的关键。然而,对于许多创作者来说,不断推陈出新、优化文章表达并非易事。这时,智能AI改写工具就如同一股强大的助力,让改写文章变得更加高效、轻松。接下来,让我为你详细介绍6款令人惊艳的智能AI改写工具。   第1款:火呱AI写作   它是以高效和创新而备受瞩目一款智能AI改写工具。它能够快速识别文章中的关键信息,并对其进行重新组织和表述。

多轮对话改写

1、什么是改写 人(A)和系统(B)的交流过程。用户的真实意思label是对用户上一句说的话A2进行信息还原(改写) eg:标签Label是根据上下文A1,B1;对A2的改写   2、如何评价改写 《Transformer多轮对话改写实践》博客一文中介绍道,可以通过3种策略来实现;比较生成文本和参考文本之间重叠的一元字数,二元字数;根据最长公共子序列得出; 3、参考论文和git

中文分词器性能比较

原文: http://www.cnblogs.com/wgp13x/p/3748764.html 摘要:本篇是本人在Solr的基础上,配置了中文分词器,并对其进行的性能测试总结,具体包括 使用mmseg4j、IKAnalyzer、Ansj,分别从创建索引效果、创建索引性能、数据搜索效率等方面进行衡量。   具体的Solr使用方法假设读者已有了基础,关于Solr的性能指标见前