网站首页 > 开源技术 正文
1 IKAnalyzer分词器配置。
1.1拷贝IKAnalyzer2012_u6\IKAnalyzer2012_u6.jar到C:\apache-tomcat-6.0.32\webapps\
solr\WEB-INF\lib文件夹下面
1.2 在C:\apache-tomcat-6.0.32\webapps\solr\WEB-INF文件夹下面新建classes文件夹,拷贝IKAnalyzer2012_u6\IKAnalyzer.cfg.xml和IKAnalyzer2012_u6\stopword.dic到classes文件夹里面,修改IKAnalyzer.cfg.xml,新增
<entry key="ext_dict">ext.dic;</entry>
在classes下面新建ext.dic文件,ext.dic里面是新增自己要添加的扩展词,stopword.dic里面是自己新增的停止词,有些词语分词没什么意义,所以我们就要把它过滤掉,例如 a an and 啊 哦,修改完之后把编码保存为UTF-8格式,要不然不起效果,
1.3 修改C:\solr\apache-solr-3.4.0\example\multicore\core0\conf\schema.xml文件,新增类型text_ik,title_search字段类型改成text_ik。
<!-- 我添加的IK分词 -->
<fieldType name="text_ik" class="solr.TextField">
<analyzer type="index" isMaxWordLength="false" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
<analyzer type="query" isMaxWordLength="true" class="org.wltea.analyzer.lucene.IKAnalyzer"/>
</fieldType>
<field name="title_search" type="text_ik" indexed="true" stored="true"/>
1.4 reindex solr数据之后,进行查询,可以查看分词效果。
1.5 搜索足球,得到这笔数据,分词成功。
2 mmseg4j分词器配置。
2.1把mmseg4j-1.8.5\dist下面的所有jar文件拷贝到C:\apache-tomcat-6.0.32\webapps\
solr\WEB-INF\lib文件夹下面
2.2 拷贝data到C:\solr\apache-solr-3.4.0\example\multicore中(与core文件平级),并改名为dic。
2.2.1 chars.dic,是单个字,和对应的频率,一行一对,字在全面,频率在后面,中间用空格分开。这个文件的信息是 complex 模式要用到的。在最后一条过虑规则中使用了频率信息。从 1.5 版后已经把它打包进 jar 里,一般不用关心它。不过可以在词库目录下放一个同名文件覆盖它。
2.2.2 units.dic,是单位的字,如:分、秒、年。这一文件是我在 mmseg4j 1.6 后加入的,也是一行一条。主要是在数字后面的单位信息切分好,不与words.dic中的词有混淆。同时也打包进 jar 里,目前还是试行,如果不喜欢它,可以用空的文件放到词库目录下覆盖它。
2.2.3 words.dic,是核心的词库文件,一行一条,不需要其它任何数据(如词长)。1.0 版是用 rmmseg(ruby 的 mmseg 实现) 的词库。1.5版后 mmseg4j 改用 sogou 词库,可以 http://www.sogou.com/labs/dl/w.html 找到下载。然后我把它去了频率等信息,并转为 UTF-8 编码。
2.2.4 words-my.dic,是自定义词库文件(其实是 mmseg4j 可以从多个文件读取词)。这功能是 1.6 版加入的。它的格式与 words.dic 一样,只不过 XXX 部分是如您自己写的名字,如:源码包里的 data/words-my.dic。注意:自定义词库文件名必需是 "words" 为前缀和 ".dic" 为后缀。
2.2.5修改完之后把编码保存为UTF-8格式,要不然不起效果,
2.3 修改C:\solr\apache-solr-3.4.0\example\multicore\core0\conf\schema.xml文件,新增类型text_mmseg4j,title_sort字段类型改成text_mmseg4j。
<!-- mmseg4j分词器 -->
<fieldType name="text_mmseg4j" class="solr.TextField" >
<analyzer type="index">
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="../dic" /><!--此处为分词器词典所处位置-->
</analyzer>
<analyzer type="query">
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="../dic" /><!--此处为分词器词典所处位置-->
</analyzer>
</fieldType>
<field name="title_sort" type="text_mmseg4j" indexed="true" stored="true"/>
2.4 reindex solr数据之后,进行查询,可以查看分词效果。
2.5 搜索足球,得到这笔数据,分词成功。
猜你喜欢
- 2024-10-23 ES 基本知识(es基本介绍)
- 2024-10-23 maven打包jar包时如何打包本地jar文件
- 2024-10-23 springboot整合websocket、solr(springboot整合rocketMQ)
- 2024-10-23 ElasticSearch安装ik分词插件(elasticsearch 安装ik分词器)
- 2024-10-23 12K的码农怎样蜕变为30k的架构师?找准方向,拒绝迷茫
- 2024-10-23 Lucene就是这么简单(好儿子今天妈妈就是你的女人了)
- 2024-10-23 5分钟带你了解Lucene全文索引(lucene索引原理)
- 2024-10-23 在.net core中进行中文分词方法(.net core hangfire)
- 2024-10-23 Elasticsearch-通过外网访问加入kibana,head「002」
- 2024-10-23 SpringBoot+kafka+ELK分布式日志收集
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)